私のフォームには、ui:repeat コンポーネント内にドロップダウン リストが含まれています。リスト項目が選択されると、 f:ajax 呼び出しにより、ドロップダウン リストと ui:repeat 内の他のいくつかのコンポーネントの両方が更新されます。f:ajax render="???????" の正しい id 形式を見つけるのに苦労しています。(以下の facelet ビューを参照してください)。どんな助けでも大歓迎です。
レンダリングされた画面の生のソース ビュー (実際の JSF ID) と、コード化されたものと同じコンポーネントを示す facelet ビューを提供しました。
ブラウザ ソース ビュー
<form id="GeneralMedicalHistory" name="GeneralMedicalHistory" method="post" action="..."
<span id="GeneralMedicalHistory:GeneralMedicalHistory_P">
<span id="GeneralMedicalHistory:medhist">
<table border="0" class="table_form">
<select id="GeneralMedicalHistory:RPTK:0:MedicalCondition" name="GeneralMedicalHistory:RPTK:0:MedicalCondition" > ---> TARGET ID (UI:REPEAT)
Facelet ビュー
<h:form id ="GeneralMedicalHistory">
<h:panelGroup id="GeneralMedicalHistory_P">
<h:panelGroup id="medhist">
<ui:repeat value="#{f.repeatingItemGroups['MedicalHistory'][1]}" var="repeatKey" id="RPTK" >
<h:commandLink action="remove_repeating_ig" rendered="${f.items[removeOid].isNew and repeatKey != '1'}"></>
<table border="0" class="table_form">
<h:selectOneMenu value="${f.items[oid].value}" id="MedicalCondition" >
<f:selectItems value="${f.items[oid].codeListItems}"/>
<f:ajax render="?????????" event="click" listener="#{f.clearModelValuesViaAjax}" />
</h:selectOneMenu>
</table>
</h:panelGroup>
</h:panelGroup>
</h:form>
私は次のことを試しましたが、どれもうまくいきませんでした...
- f:ajax render="GeneralMedicalHistory:RPTK:0:MedicalCondition"
- f:ajax render=":GeneralMedicalHistory:RPTK:0:MedicalCondition"
- f:ajax render="GeneralMedicalHistory_P:medhist:RPTK:0:MedicalCondition"
- f:ajax render=":GeneralMedicalHistory_P:medhist:RPTK:0:MedicalCondition"
- f:ajax render="GeneralMedicalHistory:GeneralMedicalHistory_P:medhist:RPTK:0:MedicalCondition"
- f:ajax render=":GeneralMedicalHistory:GeneralMedicalHistory_P:medhist:RPTK:0:MedicalCondition"