来自p:autoComplete的primefaces更新面板

时间:2013-08-27 16:00:25

标签: java ajax jsf primefaces

我有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>

3 个答案:

答案 0 :(得分:1)

将tabview的id添加到组件id的列表中,以更新autocompelte中的ajax。

答案 1 :(得分:1)

您使用<p:outputPanel id="graphView">更改<div id="graphView">

事实上,<p:outputPanel在客户端呈现div标记。

答案 2 :(得分:1)

为什么在选择值时更新自动填充功能?您应该更新要显示信息的其他内容。 AsRongNK说,使用带有id或h:outputPanel的p:outputPanel并更新id。

您可以在p:ajax中引用id。