当前位置: 首页 > 知识库问答 >
问题:

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

满自明
2023-03-14

我有一个jsf页面,我有一个selectOneMenu和,我想打开一个对话框对selectOneMenu变化。

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

我还想把提交的数据保存在我的后备bean中的某个地方,这样我以后就可以把它存储到数据库中了。

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

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

<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中有两个选项,分别是India和Australia,如果用户选择India,则应在同一页面上打开一个对话框,用户需要填写一些信息,如果他来自印度,则需要提交(如示例中所示)http://www.primefaces.org/showcase-labs/ui/dialogLogin.jsf(请点击那个小图片(是的,就像我在selectOneMenu中选择特定值后想打开的这个对话框),用户将输入用户名和密码并提交数据)

希望这有帮助

我们如何检查primeface,选择值的selectOneMenu使用java脚本(jQuery)就像这里所做的Richface t: selectOneMenu如何获得选择值使用java脚本??

共有1个答案

宗冷勋
2023-03-14

您可以使用h:selectOneMenuonchange属性打开对话框:

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

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

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

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

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

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

与:

<p:ajax update=".." process=".." oncomplete="showDialog()"/>
 类似资料:
  • 我在我的应用程序中使用primeface(v.3.0)。有两列,一列是输入文本,另一列是选择菜单(下拉)。 现在我想用一些例子来改变输入文本的颜色,比如。。 1.如果选择一个菜单值被选为“单一”输入文本框,则该特定pID的颜色将仅为“绿色”。 2.如果选择一个菜单值被选为“已婚”,输入文本框颜色将仅为该特定pID的“红色”。 3.如果选择一个菜单值被选为“离异”输入文本框颜色将仅为该特定pID的“

  • 问题内容: 我想在包含该链接页面的同一窗口和同一选项卡中打开一个链接。 当我尝试使用打开链接时,它将在新选项卡中打开,而不是在同一窗口的同一选项卡中打开。 问题答案: 你需要使用name属性: 编辑:URL应该在协议之前。没有它,则尝试打开相对URL。经过Chrome 59,Firefox 54和IE 11的测试。

  • 如何通过Selenium WebDRiver命令在浏览器的同一窗口会话中打开新选项卡?

  • 我有几十个Selenium Webdriver测试。我想一次完成所有的任务。如何运行测试,使每个测试都不会打开新的Webdriver浏览器窗口?

  • 我正在处理一个(父)网页的需求,该网页有一些链接,比如Link1、Link2和Link3。当我单击链接1(将在活动窗口1(子窗口)的新窗口中打开)时,当我单击链接2/Link3时,页面应在同一窗口(窗口1)中打开。 问:Javascript/Jquery/Ajax中是否有实现此功能的方法。请分享你对此的宝贵想法。 注意:如果没有打开任何链接,则应弹出一个新窗口。我知道我们在HTML中有选项targ

  • 我有两台显示器;创建 LWJGL 窗口时: 它总是出现在我的左侧屏幕上。是否有一个参数可以设置以更改它出现在哪个屏幕上,例如: