【问题标题】:Need to call a JavaScript function with Radio button onclick in JSF需要在 JSF 中使用单选按钮 onclick 调用 JavaScript 函数
【发布时间】:2017-04-30 00:55:46
【问题描述】:

我在名为 showSearchAccount() 的 Common.js 文件中定义了一个 JavaScript 函数,该函数在调用时会显示一个弹出窗口。我还在 xhtml 文件中定义了两个单选按钮;

 <h:selectOneRadio value="#{userData.data}">
            <f:selectItem itemValue="Yes" itemLabel="Yes" />
            <f:selectItem itemValue="No" itemLabel="No" />
 </h:selectOneRadio>

当我单击是单选按钮时,我需要弹出窗口,但如果我将 onclickonchnage 放在第一个 selectItem 标记弹出窗口未出现。如果我将 onclick 放在 selectOneRadio 标记中,它可以工作,但它会同时启用,即是和否。

我已经用纯 html 尝试过这个东西,它就像魅力一样。但我需要它与 JSF 一起工作。谁能帮忙。

【问题讨论】:

    标签: javascript html jsf


    【解决方案1】:

    您可以在&lt;h:selectOneRadio&gt; 设置onclick 事件,然后决定将在javascript 函数中显示什么弹出窗口。我尝试了下面的代码并且成功了:

    XHTML:

    <h:form>
            <h:selectOneRadio onclick="showPopUp(this.value)">Select:
                <f:selectItem itemValue="y" itemLabel="Yes" />
                <f:selectItem itemValue="n" itemLabel="No" />
            </h:selectOneRadio> 
        </h:form>
    

    JS:

    function showPopUp(type) {
        //console.log(type);
        switch( type) {
            case 'y' : alert('pop up y!');  <--- call your function here for pop A
                       break;
            case 'n' : alert('pop up n!');  <--- call your function here for pop B
                       break;
        }   
    }
    

    【讨论】:

    • 添加 switch 语句会影响该功能。该功能在各个地方使用,我不需要警报作为弹出窗口。显示 Dojo 对话框。
    • 你不能为这个收音机创建一个特定的功能吗?警报只是一个例子。将其替换为您的 Dodo Dialog 调用。
    猜你喜欢
    • 1970-01-01
    • 2010-09-26
    • 1970-01-01
    • 2019-09-29
    • 1970-01-01
    • 2018-02-28
    • 1970-01-01
    • 2010-12-14
    • 2013-10-09
    相关资源
    最近更新 更多