读书人

怎么获取动态生成的JSF控件的id

发布时间: 2012-01-18 00:23:26 作者: rapoo

如何获取动态生成的JSF控件的id
动态生成的控件怎么取得id?前台使用js获取。
<a4j:repeat var="user" value="#{userBean.user}" rowKeyVar="i">

<tr >
<td><h:outputText value="#{user.id}"></h:outputText></td>
<td><h:outputText value="#{user.username}"></h:outputText></td>
<a4j:repeat var="onduty" value="#{user.ondutydays}" >

<td><h:selectBooleanCheckbox value="#{onduty}"></h:selectBooleanCheckbox></td>
</a4j:repeat>

</a4j:repeat>

我从数据库中查询出数据,然后在页面上循环输出。checkbox修改状态后,提交保存数据。
问题是这里的checkbox的id怎么获取?

[解决办法]
那里不能直接加ID吗?
试试,
JS可以直接取的, 不加ID也行, 
jquery 可以很方便的取的你这里的ID,<h:outputText value="#{user.id}">
[解决办法]
直接用JS吧, jquery,
$("input:checkbox"), 取得所有 checkbox
$("input:checked"), 取得所有被选中的 checkbox
然后再遍历吧,

[解决办法]

引用
selectBooleanCheckbox它只能绑boolean类型的值

正常情况下

selectBooleanCheckbox,需要给的应该是一个boolean类型,而不是id而按照你的思路,完全可以这样,这里假设你传过来的数据源来看,有一个ondutydays属性应该是boolean类型的,来表示该条记录是否被选中,这里假设这个属性为
private boolean ondutydays; <h:selectBooleanCheckbox id= "checkit " value= "#{user.ondutydays} " />
当你选中后,执行修改状态操作, 后台方法中写一个更新状态动作,直接遍历user中的ondutydays属性,看是否为true,为true 就更新该条记录状态,否则就不做操作。。。

读书人网 >Java Web开发

热点推荐