2017-02-22 5 views
0

Я хотел бы сделать небольшую страницу html, где вы можете выбрать операторов, которые вы хотели бы использовать в своих расчетах, в флажке, и при флажке есть раскрывающийся список, в котором указаны вышеперечисленные операторы как содержание. Каждый раз, когда вы проверяете/снимаете операцию, выбираемое содержимое раскрывающегося списка должно измениться. Я хочу сделать это с помощью ValueChangeListener, но я не знаю, как реализовать прослушиватель изменений значения в этом упражнении.JSF SelectManyCheckbox/SelectOneMenu example

Вот мой index.html

<html xmlns="http://www.w3.org/1999/xhtml" 
    xmlns:h="http://xmlns.jcp.org/jsf/html" 
    xmlns:f="http://xmlns.jcp.org/jsf/core"> 
<h:head> 
    <title>Facelet Title</title> 
</h:head> 
<h:body> 
    <h:form> 
     <h:selectManyCheckbox onchange = "submit()"> 
      <f:selectItems value = "#{selectManyCheckboxBean.list}" valueChangeListener = ""/> 
     </h:selectManyCheckbox> 

     <h:outputText id = "outputText" value = ""/> 
     <h:selectOneMenu value = ""> 
      <f:selectItems value = ""/> 
     </h:selectOneMenu> 
    </h:form> 
</h:body> 

А вот мой SelectManyCheckboxBean.java

@ManagedBean 
@SessionScoped 
public class SelectManyCheckboxBean { 
    private List<SelectItem> list; 

    public SelectManyCheckboxBean() { 
     list = new ArrayList<>(); 

     list.add(new SelectItem('+')); 
     list.add(new SelectItem('-')); 
     list.add(new SelectItem('*')); 
     list.add(new SelectItem('/')); 
    } 

    public List<SelectItem> getList() { 
     return list; 
    } 

    public void operatorValueChange (ValueChangeEvent event) { 

    } 
} 

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

ответ

0

Просто установите атрибут selectOneMenuvalue на #{selectManyCheckboxBean.list}. Вот где ваши проверенные значения.

+0

Спасибо, но я хотел бы сделать это со слушателем изменения стоимости. –

+0

'f: selectItems' не имеет' valueChangeListener', 'h: selectManyCheckbox' делает ... Просто добавьте' # {selectManyCheckboxBean.operatorValueChange} 'значение в значение valueChangeListener. – peterremec