Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ajax中的动态accodion面板传递变量_Ajax_Jsf_Primefaces - Fatal编程技术网

ajax中的动态accodion面板传递变量

ajax中的动态accodion面板传递变量,ajax,jsf,primefaces,Ajax,Jsf,Primefaces,我想将变量传递给tabClose和tabChange上的bean方法——我想传递我单击的选项卡的索引 <p:accordionPanel id="layerListAccordionPanel" multiple="true" activeIndex="#{layersModelMock.activeIndex}" value="#{layersModelMock.layerCategories}" var="category"> <p:ajax event="tabC

我想将变量传递给tabClose和tabChange上的bean方法——我想传递我单击的选项卡的索引

<p:accordionPanel id="layerListAccordionPanel" multiple="true" activeIndex="#{layersModelMock.activeIndex}" value="#{layersModelMock.layerCategories}" var="category">
    <p:ajax event="tabClose" listener="#{layersController.deselectCategory(category.id)}" />
    <p:ajax event="tabChange" listener="#{layersController.selectCategory(category.id)}" />

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

试验
当我测试上面的代码时,我总是通过“0”。我不知道如何获取选项卡的索引并通过ajax传递它?

正如您从中看到的,您可以在bean中使用选项卡更改作为事件

 public void onTabClose(TabCloseEvent event) {  
    deselectCategory(event.getTab().getId());
}  

 public void onTabChange(TabChangeEvent event) {  
    selectCategory(event.getTab().getId());
}  
您需要相应地调整XHTML

<p:accordionPanel id="layerListAccordionPanel" multiple="true" activeIndex="#{layersModelMock.activeIndex}" value="#{layersModelMock.layerCategories}" var="category">
    <p:ajax event="tabClose" listener="#{layersController.onTabChange}" />
    <p:ajax event="tabChange" listener="#{layersController.onTabClose}" />

    <p:tab id="#{category.id}" title="#{category.name}" closable="true">
        Test
    </p:tab>
</p:accordionPanel>

试验
我自己还没有测试过,但根据Primefaces主页,它应该可以工作

编辑

测试-工作