richfaces选择由事件触发的菜单渲染

时间:2012-12-03 15:44:06

标签: events jsf richfaces rendering select-menu

我有一些弹出窗口,用于少数选项卡,弹出窗口使用dialogContainerIddialogId等标签中的一些参数。

我有“选择项目”菜单和靠近它的“刷新项目”按钮。因此,当用户点击按钮时,我想获得选择菜单的新项目列表。选择菜单按预期工作,但“刷新”按钮不工作。我确信刷新按钮上的监听器运行良好,如果新项目出现在数据库中,可以看到更新的项目列表。但是选择菜单不会更新。好像render上的f:ajax属性似乎不起作用或者ID不匹配。我查了一下页面,一无所获。 Ids看起来很好。我尝试了常量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>

0 个答案:

没有答案