在selectOneMenu更改的同一窗口中打开一个对话框

时间:2012-06-02 15:08:29

标签: javascript jquery jsf-2 jquery-selectors primefaces

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

  

作为一个例子,如果用户从jsf selectOneMenu中选择一个值=“被动”它   应该在我想要的同一页面上打开一个对话框或灯箱   显示一个像这里完成的小型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>

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

希望这有帮助

  

我们如何检查primefaces,selectOneMenu的选定值   java script(jquery)就像在这里为richfaces所做的一样   t:selectOneMenu how to get selected value using java script?

1 个答案:

答案 0 :(得分:5)

您可以使用onchange的{​​{1}}属性打开对话框:

h:selectOneMenu

<h:selectOneMenu id="someSelect" value="#{testController.countryName}" required="true" onchange="dlg.show()"> 作为dlg的{​​{1}}属性的值。这将在服务器命中之前打开对话框

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

p:ajax

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

oncomplete

使用:

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