父组件更新<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
}
}
有办法做到这一点吗?
您可以使用PrimeFaces.widget.SelectCheckboxMenu.checkAll()
函数:
PF('wvCheckBoxMenu').checkAll()
显然,在测试了PrimeFaces提供的功能后,不存在在面板关闭时检查复选框的场景(:visible
的过滤器),因此如果菜单关闭,则不会得到预期的结果,因此需要在调用checkAll()
之前调用show()
。
因此,合适且最简单的调用顺序是:
PF('wvCheckBoxMenu').show();
PF('wvCheckBoxMenu').checkAll();
PF('wvCheckBoxMenu').hide()
否则,您需要更改checkAll()
函数本身。