javascript - 如何选择所有f :selectItems inside p:selectOneRadio with javascript in JSF?

标签 javascript jquery jsf

我的jsf代码如下:

  <p:selectOneRadio id="options" value="#{obj.idcStatus}">
    <f:selectItem itemLabel="Approve" itemValue="#{true}" />
    <f:selectItem itemLabel="Disapprove" itemValue="#{false}" />
  </p:selectOneRadio>

我想添加一个 selectOneRadio,它可以从 selectOneRadio (id="options") 中选择所有项目,如下所示:

enter image description here

如何做到这一点?

谢谢。

最佳答案

为这些单选按钮指定一个独特的样式类,例如styleClass="status"

<p:selectOneRadio id="all">
    <f:selectItem itemLabel="Approve all" itemValue="#{true}" />
    <f:selectItem itemLabel="Disapprove all" itemValue="#{false}" />
</p:selectOneRadio>

<p:dataTable id="table" value="#{bean.items}" var="item">
    <p:column>#{item.value}</p:column>
    <p:column>
        <p:selectOneRadio id="status" value="#{item.status}" styleClass="status">
            <f:selectItem itemLabel="Approve" itemValue="#{true}" />
            <f:selectItem itemLabel="Disapprove" itemValue="#{false}" />
        </p:selectOneRadio>
    </p:column>
</p:dataTable>

完成此操作后,有两种通用方法可以实现功能要求:

  1. 客户端,使用 jQuery:

    <p:selectOneRadio id="all" onchange="$('.status .ui-radiobutton:has([value=' + this.value + ']) .ui-radiobutton-box').click()">
        ...
    </p:selectOneRadio>
    
  2. 服务器端,使用 JSF ajax:

    <p:selectOneRadio id="all">
        ...
        <p:ajax listener="#{bean.updateStatus(component.value)}" update="@(.status)" />
    </p:selectOneRadio>
    

    使用这个新的 bean 方法:

    public void updateStatus(boolean newStatus) {
        for (Item item : items) {
            item.setStatus(newStatus);
        }
    }
    

关于javascript - 如何选择所有f :selectItems inside p:selectOneRadio with javascript in JSF?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25455369/

相关文章:

javascript - 仅当屏幕大于时,我如何执行此功能

Javascript 获得 MIME 类型支持

javascript - 将 AJAX 调用添加到函数触发的弹出窗口阻止程序

javascript - 关于 JSF2 和 JavaScript 的警告 - JSF1064 : Unable to find or serve resource

javascript - Python bokeh CustomJS 回调更新 DataTable 小部件

javascript - 将类添加到 div,每个 div 的数量增加

jquery 从 .text() 中排除一些子节点

java - Primefaces 3.0 : TreeNode and ContextMenu

java - jsf primefaces,更新时显示 itemLabel 而不是 itemvalue

javascript - 如何在 AngularJS 中单击时显示和隐藏按钮值?