我正在尝试保存一个隐藏值以供jQuery使用。。
jsf代码:
<h:datatable id="myTable" var="aRow>
<h:inputHidden value="#{aRow.someValue}" id="myTrID"/>
<h:column> ... </h:column>
<h:column> ... </h:column>
</h:datatable>
当查看呈现的页面源时,我看不到任何<h:inputHidden>
的证据。
仅供参考,我想做的是用这个jQuery代码访问这个<h:inputHidden>
:
$(document).ready(function() {
$("#myTable tr").click(function(event){
var tr_value = $(this).children("input[name='myTrID']").val();
alert("Row Value = " + tr_value);
});
});
尝试将隐藏值放在其中一列中。可能不允许h:inputHidden
作为h:dataTable
的子级。
有两件事:
- 正如Matt Handy所说,dataTable只能有
column
子级(尽管您可以添加其他组件作为facet) - 此外,clientId可能是
...someOtherNamingContainers:myTable:n:myTrID
的形式,其中n
是该列的行索引;作为NamingContainer的任何父级都会影响clientId