3
<h:selectOneMenu id="dropdownDevice"
        value="#{skinningBean.currentDevice}" converter="SkinConverter">
        <f:selectItems value="#{skinningBean.myDevicesSI}" var="c"
            itemValue="#{c}" />
        <f:ajax event="change" render="preview" />
</h:selectOneMenu>

このドロップダウン内でページ全体をリロードすることは可能ですか?別のデバイスが選択されたときにJavaScriptをリロードする必要があるため、これが必要です。

4

2 に答える 2

14

同期的に実行するか非同期的に実行するかが明確ではありません。

非同期の場合は、のレンダリングを指定します@all

<f:ajax ... render="@all" />

同期している場合は<f:ajax>、JSform.submit()呼び出しに置き換えます。

<h:selectOneMenu ... onchange="this.form.submit()">
于 2013-03-14T13:25:20.093 に答える
1

タグrender="@all"に属性を設定することで、これを簡単に行うことができます。f:ajax

<f:ajax render="@all" />

デフォルトで削除できevent="change"ます。

于 2013-03-14T13:25:02.200 に答える