【问题标题】:Simple pop-up after p:selectBooleanCheckbox?p:selectBooleanCheckbox 后简单弹出?
【发布时间】:2014-01-31 13:32:13
【问题描述】:

我有几个页面以这种方式使用 PrimeFaces 复选框:

<p:column>
  <f:facet name="header">
    <p:selectBooleanCheckbox value="#{Bean.allChecked}">
      <p:ajax process="@this" update=":form:table" listener="#{Bean.handleAllChecked}"/>
    </p:selectBooleanCheckbox>
  </f:facet>
 ...
</p:column>

我想调出一个信息弹出对话框,说“这将选择所有项目!”只有一个“确定”按钮。我该怎么做?

请记住,有几个页面具有相同的行为,如果可能的话,我想避免一遍又一遍地复制/粘贴相同的代码。

【问题讨论】:

  • onclick=alert(... ? =D
  • 谢谢。我只在选择它时才需要它,而不是在未选择时才需要。这可能吗?
  • 是的,有可能...您只需要检查checkBox是否已被选中...看看Makky的答案,如果您仍然需要JS函数,请告诉我。

标签: jsf primefaces


【解决方案1】:

这可以通过使用primefaces commandButtonConfirmation dialog 来实现

在您的 xhtml 文件中

<f:facet name="header">
  <p:commandButton value="Select All" actionListener="#{testBean.handleAll}">
        <p:confirm header="Select All" message="This will select all items?" 
         icon="ui-icon-alert" />
  </p:commandButton>
</f:facet>

添加确认对话框代码(您可以创建一个文件,只需包含在任何 xhtml 中)

<p:confirmDialog global="true" showEffect="fade" hideEffect="explode">
            <p:commandButton value="Yes" type="button"
                styleClass="ui-confirmdialog-yes" icon="ui-icon-check" />
            <p:commandButton value="No" type="button"
                styleClass="ui-confirmdialog-no" icon="ui-icon-close" />
        </p:confirmDialog>

托管豆

public void handleAll(ActionEvent event){
        System.out.println("called only when selected yes");
    }

只有当用户点击“Yes”时才会调用方法handleAll,否则它不会做任何事情。

希望对你有帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-29
    • 1970-01-01
    相关资源
    最近更新 更多