我有一个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??
答案 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()"/>