2012-05-07 9 views
1

p:ajaxを使用してh:selectOneMenuの値を変更しようとしています。 しかし、私はいつもnull値を得ています、何が間違っているか分からないコードは以下のとおりです。h:selectOneMenu p:ajaxでイベントを変更する

<h:form> 
<h:selectOneMenu id="selectMenu" value="#{userHomeController.gymsSelectType}"> 

<f:selectItem itemLabel="Close to me" itemValue="closest" /> 
<f:selectItem itemLabel="Visited by me" itemValue="visited" /> 
<p:ajax process="selectMenu" listener="#{userHomeController.selectMenuListener}" event="change" update=":home-form:panel" /> 

</h:selectOneMenu> 
</h:form> 

およびBeanクラスは、これがviewscopedクラスである

public void selectMenuListener() { 
    System.out.println("-------- >> " + gymsSelectType); // here null coming 
    if (gymsSelectType.equals("a")) { 
     // 
    } else { 
     // 
    } 
} 

あります。 変数gymsSelectType用セッターの下にもヌル

public void setGymsSelectType(String gymsSelectType) { 
    System.out.println("------------ >> "+gymsSelectType); 
    this.gymsSelectType = gymsSelectType; 
} 
+0

はあなたにいくつかのロジックまたはだけの問題を実行します試してみてくださいを持って印刷していますデータやパネルの表示/非表示は?最後のものはJavaScriptのみを使用して達成できるからです。 –

+0

は選択に基づいていくつかのロジックを行う必要があります – Eric

+2

''を使用することはできますが、ここでのデフォルトのajaxイベントであるすべての値選択で呼び出されます。あなたがそれでも「ヌル」を得るなら、問題はどこか他のところです。あなたのfaceletに ''を追加して、検証などにエラーがないかどうかを調べてみてください。 – Fallup

答えて

4

があなたの試行この

<p:ajax process="@this" listener="#{userHomeController.selectMenuListener}" event="change" update=":home-form:panel" /> 
+1

3年後、この質問は私の人生を救った。ありがとう。 –

1

この

<p:ajax partialSubmit="true" listener="#{userHomeController.selectMenuListener}" event="change" update=":home-form:panel" />

関連する問題