p:selectCheckboxMenu关闭时的ajax事件名称

3
我需要在用户完成选择后(关闭时)触发p:selectCheckboxMenu的操作。已经更新了包含新选择列的datatable(完成)。
我无法找到适合菜单此主要角色的ajax行为的事件名称。 p:selectCheckboxMenu 的默认ajax行为会在每次选择时更新数据表格,这对我和用户来说都很烦人。我只需要在关闭时触发p:selectCheckboxMenu的操作。
以下是我的代码:
<p:selectCheckboxMenu id="colser"
                      scrollHeight="100"
                      filterMatchMode="contains"
                      filter="true"
                      label="Colonnes"
                      value="#{datatableBean.selectedstateOptions}">  
   <f:selectItems value="#{datatableBean.columner}"
                  var="list"
                  itemLabel="#{list.listname}" 
                  itemValue="#{list.headername}"/>  
   <p:ajax  event="close_event_name_here"
            update=":form1:tabexam"
            listener="#{datatableBean.updateCols()}"/>
</p:selectCheckboxMenu>
1个回答

10

您可以尝试使用 p:selectCheckboxMenu 的 onhide 属性。

      <p:selectCheckboxMenu id="colser"
                  scrollHeight="100"
                  filterMatchMode="contains"
                  filter="true"
                  label="Colonnes"
                  value="#{datatableBean.selectedstateOptions}"
                  onHide="executeOnOnhide();>  
            <f:selectItems value="#{datatableBean.columner}"
              var="list"
              itemLabel="#{list.listname}" 
              itemValue="#{list.headername}"/>  
      </p:selectCheckboxMenu>  

      <p:remoteCommand  name="executeOnOnhide"
        update=":form1:tabexam" process="@this form:colser"
        action="#{datatableBean.updateCols()}"/>  

以下是供您参考的PrimeFaces文档指南链接:
http://primefaces.org/documentation.html

希望这有所帮助。


我尝试了一下,但它不起作用,表格从未更新,updateCols()也从未被调用。 - Jalal Sordo
在远程命令的process属性中,除了selectCheckBoxMenu id之外,还要添加@this,并尝试一下。如果您不发送任何参数,则在操作中不需要括号。 - Srikanth Ganji
2
<p:remoteCommand> 标签也可以放在 <p:selectCheckboxMenu> 中,以便仅在 selectCheckboxMenu 范围内使用。 - Lorenzo Lerate

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接