[英]Need to get dynamic count of the selected check-boxes
我有兩種類型的復選框,一種是數據表標題中的selectAll復選框,另一種是選擇每一行的復選框。
我正在做一個操作,因此我需要顯示確認消息,如何從托管Bean中獲取所選復選框的計數。
我的代碼是用JSF 1.2編寫的。
我可以選擇所有記錄,選擇記錄,ManagedBean工作正常,但是我需要選擇其中的幾個進行刪除。 這是JSF代碼,
<i:commandLink id="delete"
onclick="if (!confirm('#{managedBean.deleteSelectedCount}')) return false;"
action="#{managedBean.deleteRecords}"
title="Delete records"
immediate="true">
<i:graphicImage url="images/icons/delete.gif" alt="Delete records" />
</i:commandLink>
;
;//Some coding
;
//Data table code starts
<i:dataTable id="caseDataTable"
<h:column>
<f:facet name="header">
<i:selectBooleanCheckbox id="selectAllRecords" title="select All records"
value="#{managedBean.selectAll}">
<a4j:support event="onclick" reRender="caseDataTable,globalMessages" action="#{managedBean.actionSelectAllRecordss}" onsubmit="showBusyIndicator();" oncomplete="hideBusyIndicator();" />
</i:selectBooleanCheckbox>
</f:facet>
<h:outputLabel for="selectCheckbox" value="selectCheckbox"/>
<i:selectBooleanCheckbox id="selectCheckbox"
title="select a record" value="#{managedBean.selected}" >
<a4j:support event="onclick" reRender="selectAllRecords, globalMessages" action="#{managedBean.actionSelectionChange}"
onsubmit="showBusyIndicator();" oncomplete="hideBusyIndicator();"/>
</i:selectBooleanCheckbox>
</h:column>
可能的解決方案是使用h:inputHidden
組件(我認為它存在於JSF 1.2中。如果沒有,則可以找到一些替代方法)。
例如
將h:inputHidden
添加到頁面
<h:inputHidden id="selectedCountHidden" value="#{managedBean.deleteSelectedCount}"/>
每次單擊標題復選框或任何行復選框時 , deleteSelectedCount
計算deleteSelectedCount
值並重新呈現h:inputHidden
。 就像是
<i:selectBooleanCheckbox id="selectCheckbox" title="select a record" value="#{managedBean.selected}" > <a4j:support event="onclick" reRender="...,selectedCountHidden,..."
現在,由於h:inputHidden
將始終保留deleteSeletedCount
值,因此您可以通過Java腳本讀取其值,因此在單擊commandLink
時無需重新加載頁面
<i:commandLink id="delete" onclick="if(!confirm(document.getElementById('form:selectedCountHidden').value))return false;"..../>
請注意,如果您有定義了id
表單,則需要調用
document.getElementById('form:selectedCountHidden').value
否則就打電話
document.getElementById('selectedCountHidden').value
無論如何,請檢查頁面源,您將找到p:inputHidden
的確切id
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.