3

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

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

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

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

我能够识别从 selectOneMenu(DropdownMenu) 中选择了哪个值,但不知道如何打开选择特定值的对话框。

<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>

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

希望这可以帮助

我们如何使用java脚本(jquery)检查primefaces,selectOneMenu的选定值,就像这里为richfaces t所做的那样:selectOneMenu 如何使用java脚本获取选定的值??

4

1 回答 1

5

您可以使用 的onchange属性h:selectOneMenu打开对话框:

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

使用dlgas 的widgetVar属性值p:dialog。这将在服务器被击中之前打开对话框。

如果要在完成 ajax 请求打开对话框,可以使用p:ajax以下oncomplete属性:

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

或者,如果您想根据所选值打开对话框,您可以使用包装函数:

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

和:

<p:ajax update=".." process=".." oncomplete="showDialog()"/>
于 2012-06-04T06:12:38.870 回答