通过简单地设置组件的值,我可以使用 SSJS 选择复选框组中的所有项目。
但是我将如何在 CSJS 中做到这一点?
假设您的复选框组的名称是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>
您可以选择它们dojo.query
并将 selected 属性设置为 true。您需要检查:每个盒子都有自己的 ID,但它的开头是相同的 - 或者 - 你使用一个类。或者您查找第一个,然后选择所有兄弟姐妹。
该策略取决于您的应用程序的需求。
检查dojo.query文档以获取您的选项。
这就是你在 jquery 中的做法
$("[name$=checkBoxGroup1]").attr("checked",true)
简化 Naveen 的回答,这对我很有用:
dojo.query("input[name=\"#{id:checkBoxGroup1}\"]").forEach( function(node) {
node.checked = true;
});