2014-12-02 19 views
0

我的面板上有這個問題。我試圖使用一個函數,當我更改該選項卡時可以觸發,但問題是我沒有得到任何東西。這是我的代碼。希望您能夠幫助我。p:accordionpanel不能在JSF中使用AJAX

<h:form> 
    <p:accordionPanel id="layerListAccordionPanel" 
         multiple="true" activeIndex="-1" 
         value="#{CompleterBean.liste}" var="category"> 

     <p:ajax event="tabClose" listener="#{CompleterBean.onTabChange}" /> 
     <p:ajax event="tabChange" listener="#{CompleterBean.onTabClose}" /> 

     <p:tab id="layerPanel" title="#{category.date_fin}" closable="true"> 
      Test 
     </p:tab> 
    </p:accordionPanel> 
</h:form> 

,並在我的豆

public void onTabClose(TabCloseEvent event) { 
    System.out.println("close"); 
} 

public void onTabChange(TabChangeEvent event) { 
    System.out.println("open"); 
} 

回答

0

有一點肯定錯了是你搞錯了事件

<p:ajax event="tabClose" listener="#{CompleterBean.onTabChange}" /> 
<p:ajax event="tabChange" listener="#{CompleterBean.onTabClose}" /> 

而應是

​​

通知我」已切換事件。不過,我懷疑這是你的問題中的一個錯字,因爲這個錯誤不會默默地失敗,而是會在改變時破壞一個頁面。如果您的後臺bean影響您的視圖,請確保已正確設置更新屬性,例如

<p:ajax event="tabChange" listener="#{CompleterBean.onTabChange}" update=":form" /> 
<p:ajax event="tabClose" listener="#{CompleterBean.onTabClose}" update=":form"/>