2013-02-11 7 views
0

Как я могу создать флажок «Выбрать все» в JSF -2, чтобы выбрать все поля выбора на странице только не на другой странице, так как эти флажки являются списком и отображают 20 на каждой странице ...Как создать selectAll флажок в JSF-2

Спасибо, Алекс

+0

Вы достигли своей цели с ответом? – skuntsel

ответ

2

Зависит от того, что вы пытаетесь достичь.

Например, вы можете загрузить свои флажки в <f:form> с

<h:commandButton actionListener="{#myBean.checkAll}"> 
    <f:ajax render="checkboxes"> 
</h:commandButton> 
<h:panelGroup id="checkboxes"> 
    <ui:repeat var="check" value="#{myBean.checkBoxes}"> 
    <h:selectBooleanCheckbox value=#{check.checked}/> 
    <h:outputText value=#{check.checkedCaption}/> 
    </ui:repeat> 
</h:panelGroup> 

Тогда вы можете проверить их все с помощью следующего метода боба и частичного обновления страницы:

public void checkAll(ActionEvent event){ 
    for(Check check : checkBoxes) { 
     checkBoxes.setChecked(true); 
    } 
} 

снимите флажок всех функциональных возможностей быть достигнуто следующим образом, когда вы заменяете true в методе прослушивания действий с противоположностью текущего состояния флажка.

Редактировать. Если вы хотите выполнить настройку проверенных свойств на стороне сервера позже, например, при нажатии кнопки «Сохранить», вы можете проверить/снять флажки с контрольных кнопок на клиенте. Итак, если вы используете jQuery 1.6+, вы можете позвонить по телефону $('.checkbox').prop('checked', true);, предварительно задав styleClass="checkbox" из <h:selectBooleanCheckbox>. Для этого вы можете, например, связать метод javascript onclick с простым JavaScript-предложением, предложенным выше.