2

ラジオボタンが選択されている場合にメニューを表示しようとしています。この目的のために、rendered 属性を使用しています。

モデル:

private int type; // +getter+setter

意見:

<h:selectOneRadio value="#{bean.type}">
    <f:selectItem itemLabel="A" itemValue="1"/>
    <f:selectItem itemLabel="B" itemValue="2"/>
</h:selectOneRadio>
<h:form id="formMention" rendered="#{bean.type == 1}">
    <h:selectOneMenu ...>
        <f:selectItems ... />
    </h:selectOneMenu>
</h:form>

A をチェックしても何も表示されません。どうすればこれを達成できますか?

4

1 に答える 1

1

通常、これには ajax を使用しますが、明らかに ajax の空想に欠ける死んだ JSF 1.x を使用しているため、「プレーンな」HTML/JS を使用する必要があります。 ajax 対応のコンポーネント ライブラリ。方法の 1 つは、ラジオ ボタンをクリックしてフォームを送信することです。

<h:form>
    <h:selectOneRadio value="#{bean.type}" onclick="this.form.submit()">
        <f:selectItem itemLabel="A" itemValue="1"/>
        <f:selectItem itemLabel="B" itemValue="2"/>
    </h:selectOneRadio>
</h:form>
<h:form id="formMention">
    <h:selectOneMenu ... rendered="#{bean.type == 1}">
        <f:selectItems ... />
    </h:selectOneMenu>
</h:form>
于 2015-02-16T08:08:26.373 に答える