在选择一个菜单更改的同一窗口中打开一个对话框

Open a dialog box in same window on selectOneMenu change

本文关键字:一个 窗口 对话框 选择 菜单      更新时间:2023-09-26

我有一个jsf页面,我有一个selectOneMenu和,我想打开一个关于selectOneMenu更改的对话框。

例如,如果用户从jsf selectOneMenu中选择一个值="被动" 应该在我想要的同一页面上打开一个对话框或灯箱 显示一个小的 JSF 表单,如下所示。(请点击那个小图像(是的,就像这个对话框一样,我想在选择特定的后打开 选择一菜单中的值) ) http://www.primefaces.org/showcase-labs/ui/dialogLogin.jsf

我还想将提交的数据保存在我的后备 bean 中的某个地方,以便以后可以将其存储到数据库中。

我不知道如何在同一窗口中从支持bean打开对话框或灯箱,因为我们将使用valueChangeListener事件或使用ajax事件来识别值变化。

我能够识别从选择一菜单(下拉菜单)中选择哪个值,但不知道如何在选择特定值时打开对话框。

<h:outputLabel
            value="* Country: "/>
        <h:selectOneMenu
            id="someSelect"
            value="#{testController.countryName}"
            required="true">
            <f:selectItem
                itemLabel="Select Country"
                itemValue=""/>
            <f:selectItems
                value="#{testController.countryNamesSelectItems}"/>
             </h:selectOneMenu>

支持我们在选择项目中有 2 个选项作为印度和澳大利亚,那么如果用户选择印度应在同一页面上打开一个对话框,用户需要填写一些信息并需要提交如果他来自印度(如示例 http://www.primefaces.org/showcase-labs/ui/dialogLogin.jsf(请单击该小图像(是的,就像这个对话框一样,我想在选择特定后打开选择一菜单中的值))用户将输入他的用户名和密码并提交数据)

希望这有帮助

我们如何检查素数,选择一个菜单的选定值使用 Java 脚本(jQuery)就像这里为富人脸所做的那样 t:selectOneMenu 如何使用 java 脚本获取所选值?

您可以使用

h:selectOneMenuonchange 属性打开对话框:

 <h:selectOneMenu
        id="someSelect"
        value="#{testController.countryName}"
        required="true"
        onchange="dlg.show()">

dlg 作为p:dialogwidgetVar 属性的值。这将在服务器命中之前打开对话框。

如果要在完成 ajax 请求打开对话框,可以将 p:ajaxoncomplete 属性一起使用:

<p:ajax update=".." process=".." oncomplete="dlg.show()"/>

或者,如果要使打开对话框依赖于所选值,则可以使用包装器函数:

function showDialog() {
 if($('#IdOfYourSelectOneMenu').val() == 'India') {
   dlg.show();
 }
}

跟:

<p:ajax update=".." process=".." oncomplete="showDialog()"/>