2017-02-22 9 views
0

私はあなたがチェックボックスで、あなたの計算に使用したい演算子を選択することができますし、チェックボックスの下に、上記のように選択した演算子を持つドロップダウンリストがあり、ほとんどのHTMLページを作成したいですコンテンツ。操作をチェック/チェック解除するたびに、ドロップダウンリストの選択可能な内容が変更されます。 ValueChangeListenerでこれを作成したいのですが、この演習で値変更リスナーを実装する方法はわかりません。ここで JSF SelectManyCheckbox/SelectOneMenu例

は私SelectManyCheckboxBean.java私の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> 

されており、ここにある

@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

selectOneMenu属性value#{selectManyCheckboxBean.list}に設定するだけです。それがあなたのチェックされた値です。

+0

ありがとうございますが、値の変更リスナーでこれを行いたいと思います。 –

+0

'f:selectItems'は' valueChangeListener'を持っていません、 'h:selectManyCheckbox'は...' valueChangeListener'に '#{selectManyCheckboxBean.operatorValueChange}'値を追加するだけです。 – peterremec