0

JSF -2で[すべて選択]チェックボックスを作成して、他のページだけでなくページ内のすべての選択ボックスを選択するにはどうすればよいですか。これらのチェックボックスはリストであり、各ページに20が表示されます。

ありがとう、アレックス

4

1 に答える 1

2

あなたが達成しようとしていることに依存します。

<f:form>たとえば、でチェックボックスをロードできます

<h:commandButton actionListener="{#myBean.checkAll}">
    <f:ajax render="checkboxes">
</h:commandButton>
<h:panelGroup id="checkboxes">
    <ui:repeat var="check" value="#{myBean.checkBoxes}">
    <h:selectBooleanCheckbox value=#{check.checked}/>
    <h:outputText value=#{check.checkedCaption}/>
    </ui:repeat>
</h:panelGroup>

次に、次のBeanメソッドと部分的なページ更新を使用してそれらすべてを確認できます。

public void checkAll(ActionEvent event){
    for(Check check : checkBoxes) {
        checkBoxes.setChecked(true);
    }
 }

すべてのチェックを外す機能は、アクションリスナーメソッドのtrueを現在のチェックボックスの状態の反対に置き換えると、次の方法で実現できます。

編集します。後で、たとえば保存ボタンのクリック中に、チェックされたプロパティのサーバー側の設定を実行する場合は、クライアントのチェックボタンをオン/オフにすることができます。したがって、jQuery 1.6以降を使用している場合は、ビューでの$('.checkbox').prop('checked', true);プリセットstyleClass="checkbox"を呼び出すことができ<h:selectBooleanCheckbox>ます。これを行うには、たとえば、ボタンのjavascriptonclickメソッドを上記で提案した単純なjavascriptにバインドします。

于 2013-02-11T13:10:58.470 に答える