在父组件更新后,如何检查<p:selectCheckboxMenu>
中的每个复选框。它可能是JS / jQuery函数还是任何其他可能性。
我正在尝试使用javascript函数来检查每个复选框,在<p:ajax>
oncomplete
<p:selectOneMenu>
<p:ajax update="selectCheckboxMenu"
oncomplete="checkEveryBoxes()"/>
</p:selectOneMenu>
<p:selectCheckboxMenu id="selectCheckboxMenu" widgetVar="wvCheckBoxMenu">
</p:selectCheckboxMenu>
JS(伪代码):
function checkEveryBoxes(){
for i=0 to y{
check PF('wvCheckBoxMenu') for i value
}
}
有没有办法做到这一点?
答案 0 :(得分:2)
您可以使用PrimeFaces.widget.SelectCheckboxMenu.checkAll()
功能:
PF('wvCheckBoxMenu').checkAll()
显然在测试PrimeFaces提供的功能后,在面板关闭时检查复选框的方案不存在(:visible
的过滤器),因此如果菜单关闭,您将无法获得预期结果,因此您需要在致电show()
之前致电checkAll()
。
所以适当和最简单的调用顺序是:
PF('wvCheckBoxMenu').show();
PF('wvCheckBoxMenu').checkAll();
PF('wvCheckBoxMenu').hide()
否则您需要更改checkAll()
函数本身。