0

私は JSF 1.2 と Richfaces 3.3.3 を使用しています。

<a4j:region>
 <t:selectOneMenu id="comp1" value="#{bB.selectedTeam}" style="width: 200px">
    <t:selectItems value="#{bB.teams}" var="team" itemLabel="#{team.desc}" itemValue="#{team.code}"/>
        <a4j:support event="onchange" reRender="comp2"/>
  </t:selectOneMenu>

しかし、うまくいきませんでした。comp1 は Dojo コンボボックス コンポーネントであり、onchange イベントが発生しても何もしません。

4

2 に答える 2

0

JSF はプレーンな HTML を追跡しません。何かを再レンダリングできるようにしたい場合は、コンポーネントにラップする<a4j:outputPanel>必要があり、そのコンポーネントを再レンダリングする必要があります。

于 2013-08-21T08:24:12.267 に答える
0

<t:selectItems>によってレンダリングされた html オブジェクトは、ページの読み込み時に dijit コンポーネントに変換されたことが判明しました。javascript 側の dojo への変換により、ユーザーは、イベント onchange で ajax 呼び出しを行うように指定したオブジェクトと対話しなくなります。

<a4j:support event="onchange" reRender="comp2"/>

したがって、解決策は、javascript ブラウザー側で dojo コンポーネントにイベントをアタッチするために使用することでした。

于 2013-08-22T16:19:28.553 に答える