在javasript中取JSF dataTable表的行值
xdw1516
2008-03-31
<h:dataTable id="userList" binding="#{UserList.tableA}" var="currentRow" styleClass="tabListB" cellspacing="0" cellpadding="5" >
<h:column> <f:facet name="header"> <h:outputText value="审批"/> </f:facet> <h:commandLink value="审批" onclick="approve()" /> </h:column> ......................... 怎么把#{currentRow.id} 传入approve()函数里面呢? function approve(){ opernUrl = "msg.jsf?&uid=" + id + "&" + Math.random(); window.showModalDialog(opernUrl,window,'dialogWidth:600px;resizable:none;status:none;dialogHeight:500px;') } |
|
tailsherry
2008-03-31
你可以考虑用Ajax4jsf来解决这个问题,但看起来你似乎没有用到这方面的内容。
考虑下面一种方法: <h:dataTable id="userList" binding="#{UserList.tableA}" var="currentRow" styleClass="tabListB" cellspacing="0" cellpadding="5" > <h:column> <f:facet name="header"> <h:outputText value="审批"/> </f:facet> <h:panelGroup> <h:commandLink value="审批" onclick="approve()" /> <h:inputHidden value="#{currentRow.id}"></h:inputHidden> </h:panelGroup> </h:column> 同时,你的javascript可以修改为: function approve(){ // 获取当前触发事件的<a>对象this,然后根据nextSibling获取紧跟其后的Hidden的value,也就是你要的id var id = this.nextSibling.value; ... ... } 希望对你有帮助! |
|
dr.han
2008-04-10
直接传到方法中就可以的
你这样写 <h:commandLink value="审批" onclick="approve('#{currentRow.id}')" /> |