変更イベントでバッキング Bean メソッドを呼び出すコンボボックスを作成する必要があり、このメソッドを処理した後、ポップアップを表示する必要があります。複雑さは、valueChangeListener のポップアップ oncomplete イベントを表示する必要があるところにあります。ただし、oncomplete イベントは rich:comboBox ではサポートされていません。私は次のようにコードを書き込もうとしました:
<rich:comboBox value="#{myBean.myObj.name}"
defaultLabel="Please Select" status="defaultStatus"
valueChangeListener="#{myBean.validateNewValue}"
oncomplete="if(#{myBean.showPopup}) #{rich:component('popUpPanel')}.show(); return false;" >
<f:selectItems value="#{myBean.nameList}" />
<a4j:support event="onchange" ajaxSingle="true" reRender="errTable,popUpPanel" />
<a4j:support event="oncomplete" ajaxSingle="true" reRender="errTable,popUpPanel" />
</rich:comboBox>
ただし、comboBox は oncomplete イベントをサポートしていないため、これは不可能です。この場合、何ができるかを誰かが教えてくれますか? または、コンボ ボックスに oncomplete イベントのサポートを追加する回避策はありますか?