2016-07-22 67 views
0

當selectOneMenu的項目被選中時,我試圖讓多個元素更新。使用AJAX更新多個元素

現在它適用於需要更新的單個元素,我通過以下this question's accepted answer執行此操作,但由於我正在使用id屬性,因此無法重新使用該屬性。

SO搜索和各種其他網站後(如this search和搜索我在谷歌做了一個名爲JSF AJAX更新的outputText,我不能發佈的鏈接,因爲我沒有10代表),我米只是有點卡住了。

我該如何繼續?

AJAX調用正在從這裏取得:

<h:form class="navbar-form"> 
    <h:selectOneMenu value="#{formHeader.selectedPersonId}" class="form-control"> 
     <f:selectItems value="#{persons.persons}" var="person" itemValue="#{person.id}" itemLabel="${person.fullName}"/> 
     <f:ajax event="change" listener="#{formHeader.impersonateListener}" render=":selected-person" />   
    </h:selectOneMenu> 
</h:form>  

成功地更新此部分:

<!-- https://stackoverflow.com/questions/14790014/ajax-update-render-does-not-work-on-a-component-which-has-rendered-attribute --> 
<h:panelGroup id="selected-person"> 
    <h:outputText>${auth.authPerson.fullName}</h:outputText> 
</h:panelGroup> 

但現在也需要更新<h:outputText>這裏:

<h:outputText value="#{auth.authPerson.fullName}"/> 
<span>Working @</span> 
<span>Doing bla ....</span> 
<span>messages</span> 

對於JSF來說,我是一個新手。我可能在做一些微不足道的事情或者錯過了一些非常明顯的事情。

回答

1

你需要一個id添加到您的outputText Taq酶,然後添加這idf:ajax標籤的render屬性。

您可以更新render屬性中以空格分隔的多個元素。

+0

很多重複的SO這樣的基本問題。爲了保持清潔,更好地搜索它們並將問題標記爲重複...謝謝 – Kukeltje

+0

@Kukeltje好的,下次再介紹一下。日Thnx – Apostolos