3

我有 p;autocomplete 标记如下,它填充了联系人列表

<h:form id="relationshipsForm">
//code
    <p:autoComplete id="contactAutoComplete"
                                rendered="#{relationshipController.relationshipsName=='Contact'}"
                                value="#{relationshipController.contactKeyWord}"
                                completeMethod="#{contactRelationshipController.completeContacts}"
                                var="contact" itemLabel="#{contact.fullName}"
                                itemValue="#{contact}" converter="#{contactConverter}"
                                forceSelection="true" size="35" scrollHeight="200"
                                panelStyle="width:10px;">
                                <p:ajax event="itemSelect" update="relationshipsForm,graphViewPanel" />
                            </p:autoComplete> 

在选择联系人时,它应该自动更新下面的选项卡视图

<p:outputPanel id="graphViewPanel">
                <h:inputHidden id="orgViewUnMappedJSonDataList"
                    value="${relationshipController.getOrgViewUnMappedJSonData()}" />
                <h:inputHidden id="orgViewMappedJSonDataList"
                    value="${relationshipController.getOrgViewMappedJSonData()}" />

    <p:tabView scrollable="true" id="tabView" dynamic="true" cache="true">
                    <p:tab id="orgViewTab" title="Org View">
                        <h:outputScript library="js" name="go.js" />
                        <h:outputScript library="js" name="gojs_org_view.js" />
                        <h:outputStylesheet library="css" name="gojs_org_view.css" />
                    </p:tab>
                </p:tabView>
    </p:outputPanel>
</h:form>
4

3 回答 3

1

将 tabview 的 id 添加到组件 id 列表中以更新自动完成中的 ajax。

于 2013-08-27T16:10:55.233 回答
1

您使用<p:outputPanel id="graphView">alter for <div id="graphView">

事实上,<p:outputPanel在客户端渲染一个div标签。

于 2013-08-27T16:19:10.103 回答
1

为什么你在选择一个值时更新你的自动完成功能?您应该更新您希望在其中显示您的信息的其他内容。AsRongNK 说,使用带有 id 的 p:outputPanel 或带有 id 的 h:outputPanel 来更新。

然后,您可以从 p:ajax 引用 id。

于 2013-08-27T16:24:58.393 回答