我有一个PrimeFaces p:selectBooleanCheckbox
:
<p:selectBooleanCheckbox styleClass="myCLass" onchange="callsMethod();" value="true" />
我想要这样的东西:
$('.myCLass').prop( 'checked', true )
用于动态设置p:selectBooleanCheckbox
的值。
答案 0 :(得分:3)
比使用widgetVar轻松得多。
<p:selectBooleanCheckbox widgetVar="wgtMyCheckBox" onchange="callsMethod();" />
PF('wgtMyCheckBox').isChecked(); -- returns current state
PF('wgtMyCheckBox').check(); -- checks the box
PF('wgtMyCheckBox').uncheck(); -- unchecks the box
PF('wgtMyCheckBox').toggle(); -- toggles the current state to the opposite state
如果要选中屏幕上的所有复选框,可以在小部件上循环。
for (var widgetVar in PrimeFaces.widgets) {
var widget = PrimeFaces.widgets[widgetVar];
if (widget && widget instanceof PrimeFaces.widget.SelectBooleanCheckbox) {
widget.check();
}
}
答案 1 :(得分:2)
您可以使用PrimeFaces.getWidgetById
方法为分配了styleClass的每个复选框获取Primefaces小部件:
切换所有具有styleClass="myCLass"
的复选框:
$('.myCLass').each(function(){PrimeFaces.getWidgetById(this.id).toggle()});
选中所有具有styleClass="myCLass"
的复选框:
$('.myCLass').each(function(){PrimeFaces.getWidgetById(this.id).check()});
取消选中所有具有styleClass="myCLass"
的复选框:
$('.myCLass').each(function(){PrimeFaces.getWidgetById(this.id).uncheck()});