是否有一种简单的方法可以使用JavaScript选择/取消选择p:selectManyCheckbox中的所有复选框?
我现在已经开始工作但是我的方法看起来过于复杂,我觉得PrimeFaces应该很简单
以下代码:
选择布尔复选框:
<p:selectManyCheckbox id="multiSelectPerformanceCb"
widgetVar="multiSelectPerformanceCb"
value="#{cc.attributes.filter.selectedCriteria}">
<f:selectItems value="#{cc.attributes.filter.performanceCriteria}"
var="criteria" itemLabel="#{criteria.text}"
itemValue="#{criteria.description}" />
</p:selectManyCheckbox>
按下按钮时运行的方法:
function performanceSliderBooleanClick()
//Uncheck the inputs
PF('multiSelectPerformanceCb').inputs.each(function(){
this.checked = false;
});
//Remove ui-state-active from the outputs
PF('multiSelectPerformanceCb').outputs.each(function(){
$(this).removeClass('ui-state-active');
});
}
答案 0 :(得分:1)
从未使用过PrimeFaces,但看看他们的网页我会尝试这个(重要:将[yourformid]
替换为表单的id
(你不会&#39; t在你的问题中显示表单元素))...
FOR UNSELECTING :
function performanceSliderBooleanClick() {
$('#[yourformid]\\:multiSelectPerformanceCb').find('div.ui-chkbox-box')
.removeClass('ui-state-active')
.find('span.ui-chkbox-icon')
.removeClass('ui-icon-check')
.addClass('ui-icon-blank');
}
FOR TOGGLING(全选/全选) :
function performanceSliderBooleanClick() {
$('#[yourformid]\\:multiSelectPerformanceCb').find('div.ui-chkbox-box')
.toggleClass('ui-state-active')
.find('span.ui-chkbox-icon')
.toggleClass('ui-icon-check ui-icon-blank');
}