当前位置: 代码迷 >> Java Web开发 >> 怎么获取动态生成的JSF控件的id
  详细解决方案

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

热度:352   发布时间:2016-04-17 00:22:16.0
如何获取动态生成的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 就更新该条记录状态,否则就不做操作。。。

  相关解决方案