2016-01-15 3 views
1

Я хочу, чтобы установить флажки в selectManyCheckbox, чтобы проверили, если условие истинно «# {} myBean.isCondition»:Как реализовать «Выделить все» на selectManyCheckbox

MyBean.java

public class MyBean{ 
    private boolean isCondition; 
    ... 

    public boolean isCondition{ 
     return isCondition; 
    } 
    ... 
} 

my_page.jspx:

<h:selectManyCheckbox 
    layout="pageDirection" 
    label="#{messages['numsTelephone.label']}" 
    value="#{listSelected}"> 
    <s:selectItems var="clientTelephone" 
       value="#{list}" 
       label="#{clientTelephone}" /> 
</h:selectManyCheckbox> 

мне нужно знать, если он существует что-то вроде

checked = "#{myBean.isCondition}" 

что я могу добавить в свой блок selectManyCheckbox? Или я должен использовать javascript?

Любое другое решение приветствуется.

Другой вопрос: как установить myBean.isCondition в true, если установлен флажок?

Спасибо,

ответ

1

Использование <f:ajax> в «Выбрать все» флажок и делать селекционную работу в методе слушателя, а затем повторно вынести флажки.

Kickoff пример:

<h:form> 
    <h:selectBooleanCheckbox value="#{bean.selectAll}"> 
     <f:ajax listener="#{bean.onSelectAll}" render="items" /> 
    </h:selectBooleanCheckbox> 
    <h:selectManyCheckbox id="items" value="#{bean.selectedItems}"> 
     <f:selectItems value="#{bean.availableItems}" /> 
    </h:selectManyCheckbox> 
</h:form> 

@Named 
@ViewScoped 
public class Bean implements Serializable { 

    private boolean selectAll; // +getter +setter 
    private List<String> selectedItems; // +getter +setter 
    private Map<String, String> availableItems; // +getter (no setter necessary) 

    @PostConstruct 
    public void init() { 
     availableItems = new LinkedHashMap<String, String>(); 
     availableItems.put("Foo label", "foo"); 
     availableItems.put("Bar label", "bar"); 
     availableItems.put("Baz label", "baz"); 
    } 

    public void onSelectAll() { 
     selectedItems = selectAll ? new ArrayList<>(availableItems.values()) : null; 
    } 

    // ... 
} 
Смежные вопросы