2014-12-02 2 views
0

У меня есть эта проблема с моей панелью. Я пытаюсь использовать функцию, которая может срабатывать всякий раз, когда я меняю эту вкладку, но проблема в том, что я ничего не получаю. Вот мой код. Надеюсь, ты поможешь мне.p: accordionPanel не работает с AJAX в JSF

<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}" /> 

должно скорее быть

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

Обратите внимание, что я . Тем не менее, я подозреваю, что это опечатка в вашем вопросе, так как эта ошибка не будет терпеть неудачу, а может сломать страницу при изменении. Если ваш бэк-файл влияет на ваш вид, обязательно установите атрибут, правильно настроенный, например.

<p:ajax event="tabChange" listener="#{CompleterBean.onTabChange}" update=":form" /> 
<p:ajax event="tabClose" listener="#{CompleterBean.onTabClose}" update=":form"/> 
Смежные вопросы