2
是否有一種簡單的方法來選擇/取消選擇使用JavaScript的p:selectManyCheckbox中的所有複選框?PrimeFaces SelectManyCheckbox - 取消選中所有使用Javascript的複選框
我找到了現在的工作,但我的方法似乎的東西過於複雜,我覺得應該從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');
});
}
這適用於處理UI的JavaScript解決方案,但無法與後端連接起作用。我正在尋找更多的PrimeFaces解決方案潛在的使用widgetVar或內置PrimeFaces方法,但我給了你一個upvote,因爲我喜歡這個解決方案,儘可能簡化我在多行中做的UI清理 –
@TonyScialo:你的解決方案更多符合PrimeFaces的小部件方法,並且不依賴於組件的結構設計。你可以對[source]做一些小的修改(https://github.com/primefaces/primefaces/blob/master/src/main/resources/META-INF/resources/primefaces/forms/forms.selectmanycheckbox.js)這個組件,並使其成爲一個真正的小部件功能(檢查其他可比較的組件)。然後,您可以通過提交請求將其作爲發行人的增強功能進行歸檔。 – Kukeltje