2011-09-14 17 views
0

お願いします!私は初心者です。 私には3つのコンポーネントがあります。最初のselectBooleanCheckboxがチェックされている場合、2番目と3番目のコンポーネントは無効にする必要があります。最初のselectBooleanCheckboxがチェックされていない場合、2番目と3番目のコンポーネントがアクティブでなければなりません。他のチェックボックスをオンにするとチェックボックスを無効にするにはどうすればよいですか?

<h:selectBooleanCheckbox id="checkBox_1" value="#{MyManagerBean.goldRun}" 
       valueChangeListener="#{MyManagerBean.valueChangeInput}"/> 
<h:selectBooleanCheckbox id="checkBox_2" value="#{MymanagerBean.useResult}" /> 
<h:selectBooleanCheckbox id="checkBox_3" value="#{MymanagerBean.goldSize}" /> 

どうすればよいですか?

public void valueChangeInput(ValueChangeEvent event) { 
     event.getNewValue()...... 
     ............................. 
     .............................. 
} 

答えて

3

あなたが探している行動の種類は、ajaxを使用してのみ達成できると思います。 JSF2を使用している場合は、ajaxが組み込まれています。上記のコード部分は形でなければならないであろう

<h:selectBooleanCheckbox id="checkBox_1" value="#{MyManagerBean.goldRun}"> 
    <f:ajax event="change" render="checkBox_2 checkBox_3"/> 
</h:selectBooleanCheckbox> 
<h:selectBooleanCheckbox id="checkBox_2" value="#{MymanagerBean.useResult}" disabled="#{MyManagerBean.goldRun}" /> 
<h:selectBooleanCheckbox id="checkBox_3" value="#{MymanagerBean.goldSize}" disabled="#{MyManagerBean.goldRun}"/> 

:あなたのような何かを行うことができます。

JSF 1.2を使用している場合は、RichFaces/ICEfacesのようなajaxでサポートされているJSFサードパーティライブラリを使用する必要があります。彼らは同じように動作する同様のコンポーネントを持っています。

+0

それは私を助けませんでした。私はJSF 2.0を使用しています。最も重要なことは、リスナーに何を書き込むか? – Michael

+0

元のコードからリスナーが残っていると思います。呼び出さないようにするには、削除することができます。 – Ross

+0

答えを更新してリスナーを削除しました – Ross

関連する問題