0

通过简单地设置组件的值,我可以使用 SSJS 选择复选框组中的所有项目。

但是我将如何在 CSJS 中做到这一点?

4

4 回答 4

3

假设您的复选框组的名称是checkBoxGroup检查所有复选框的代码片段应该为您解决问题。

<xp:checkBox text="Check all" id="chkCheckAll">
    <xp:eventHandler event="onclick" submit="false">
        <xp:this.script><![CDATA[dojo.query("input[name=\"#{id:checkBoxGroup}\"]").forEach(
    function(node) {
        node.checked = document.getElementById("#{id:chkCheckAll}").checked;
    }
)]]></xp:this.script>
    </xp:eventHandler>
</xp:checkBox>
于 2012-10-19T11:21:12.123 回答
2

您可以选择它们dojo.query并将 selected 属性设置为 true。您需要检查:每个盒子都有自己的 ID,但它的开头是相同的 - 或者 - 你使用一个类。或者您查找第一个,然后选择所有兄弟姐妹。

该策略取决于您的应用程序的需求。

检查dojo.query文档以获取您的选项。

于 2012-10-19T02:16:43.080 回答
1

这就是你在 jquery 中的做法

$("[name$=checkBoxGroup1]").attr("checked",true)
于 2012-10-19T17:43:08.960 回答
0

简化 Naveen 的回答,这对我很有用:

dojo.query("input[name=\"#{id:checkBoxGroup1}\"]").forEach( function(node) {
        node.checked = true; 
    });
于 2018-09-05T16:46:46.483 回答