我有一个PrimeFacesp:selectBooleanCheckbox
:
<p:selectBooleanCheckbox styleClass="myCLass" onchange="callsMethod();" value="true" />
我想要这样的东西:$('.myCLass').prop( 'checked', true )
用于动态设置p:selectBooleanCheckbox
的值。
这比使用 widgetVar 要容易得多。
- 将 widgetVar 添加到您的组件中,例如...
<p:selectBooleanCheckbox widgetVar="wgtMyCheckBox" onchange="callsMethod();" />
- 在你的Javascript代码中使用WidgetVar来获取或设置值。
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();
}
}
您可以使用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()});