p:selectCheckboxMenu ajax事件名称为关闭

时间:2014-02-06 17:21:51

标签: ajax jsf primefaces

当用户完成选择时(关闭时),我需要在p:selectCheckboxMenu上触发操作。需要使用新选择的列(已完成)更新datatable

我找不到适合Menu的这个主要角色的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 个答案:

答案 0 :(得分:8)

您可以尝试p:selectCheckboxMenu的隐藏属性。

      <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

希望这有帮助