いくつかのタブで使用されるポップアップウィンドウがあり、ポップアップはやなどのタブからのいくつかのパラメータを使用しdialogContainerId
ますdialogId
。
「アイテムを選択」メニューとその近くに「アイテムを更新」ボタンがあります。したがって、ユーザーがボタンをクリックすると、選択メニューの新しいアイテムリストを取得したいと思います。選択メニューは期待どおりに機能しますが、「更新」ボタンは機能しません。更新ボタンのリスナーはうまく機能し、データベースに新しいアイテムが表示された場合に更新されたアイテムリストを表示できると確信しています。ただし、選択メニューは更新されません。render
属性がf:ajax
機能しないか、IDの不一致があるようです。ページを確認しても何も見つかりませんでした。IDはよく見えます。定数IDを試し、IDを親タグに移動しようとしましたが、常に同じ結果が得られました。選択メニューが再レンダリングされません。
誰かアイデアや提案がありますか?前もって感謝します。
ソースページは次のとおりです。
<ui:composition>
<h:panelGroup id="#{dialogContainerId}">
<rich:popupPanel id="#{dialogId}" autosized="true" modal="true" domElementAttachment="parent">
<h:panelGrid id="#{dialogId}commonControls" columns="3">
<!-- more input tags -->
<h:outputLabel value="Create dialog" />
<h:panelGroup>
<rich:select id="#{dialogId}expenseItem" value="#{expenseItemInstanceBean.selectedExpenseItemId}"
selectFirst="true" required="true" requiredMessage="Required">
<f:selectItems value="#{expenseItemInstanceBean.expenseItemsAsList}"
var="item" itemValue="#{item.id}" itemLabel="#{item.name}" />
</rich:select>
<h:graphicImage library="icons" name="refresh_16x16.gif" title="Refresh">
<f:ajax event="click" execute="@this" render="#{dialogId}expenseItem"
listener="#{expenseItemInstanceBean.refreshExpenseItems()}" />
</h:graphicImage>
</h:panelGroup>
<h:messages for="#{dialogId}expenseItem" />
<!-- more input tags -->
</h:panelGrid>
<!-- button tags tags -->
</rich:popupPanel>
</h:panelGroup>
</ui:composition>
そしてレンダリングされたhtmlページの一部:
<td>
<div class="rf-sel" id="idForm:wrkSchedDialogexpenseItem">
<!-- here is my list and additional autogenerated jsf tags -->
</div>
<img id="idForm:j_idt42" src="/logistics-web/javax.faces.resource refresh_16x16.gif.xhtml?ln=icons"
alt="" style="vertical-align: bottom" title="Refresh"
onclick="mojarra.ab(this,event,'click','@this','idForm:wrkSchedDialogexpenseItem');return false"
class="linkLikeCursor" name="idForm:j_idt42"/>ev
</td>