【问题标题】:JQuery running only on clickJQuery 仅在单击时运行
【发布时间】:2014-10-05 20:32:02
【问题描述】:

我有一个问题。所以我的目标是创建一个动态表单,我正在使用: http://jsfiddle.net/liammccann1992/9jPcP/5/ 作为我表格的基础。您单击复选框并出现单选按钮。我理解代码 - 但我的问题是,或者我认为是,我用于我的站点的托管服务运行 JRE 1.6。

根本问题是当我在我的 PC 上托管并在 IE 中打开我的页面时(是的,我知道 - IE 是最糟糕的,但我别无选择)查询工作正常 - 我选择了单选按钮立即出现的框- 我取消选择,它们消失了。但。当我在我的主机服务器上运行它时,单选按钮只有在我单击复选框后才会出现。 - 专门选中该框并单击屏幕上的其他位置,然后出现单选按钮。

我试过了:

    $(document).ready(function ds() {

            var displayVariableExhOptions = "";
            var displayText = "";
            if (document.input.sequenceOP14.checked) {
                displayText += "Checkbox 1 is checked";
                displayVariableExhOptions += "<input type='radio' name='exhOptions' id='sequenceOP15' onChange='displaySequence()' >"
                        + "Radio Box 1<br/>"
                        + "<input type='radio' name='exhOptions' id='sequenceOP16' onChange='displaySequence()' >"
                        + "Radio Box 2<br/>"
            }
            document.getElementById("variableSpdExhOptions").innerHTML = displayVariableExhOptions;
            document.getElementById("displayText").innerHTML = displayText;
        });

但随后它完全停止工作。有任何想法吗?

【问题讨论】:

  • 无关:如果您使用的是 jQuery,请使用 $(#...") 而不是 document.getElementById("...")。另外,请使用.html("...") 而不是.innerHTML = "..."
  • 这条评论实际上只是回答了我的下一个难题,谢谢,这很有帮助
  • 难道不是 $('#...') 吗?虽然由于某种原因我似乎无法让它以这种方式工作
  • 哦,是的。我一定错过了" 键——我很抱歉! ID 应该是$("#...")。使用 CSS 选择器。

标签: javascript jquery html forms dynamic


【解决方案1】:

尝试使用 onclick 代替 onchange:

onclick='displaySequence()'

IE 仅在您的复选框失去焦点(onblur)时触发 onChange 事件,这将解释该行为。我不清楚为什么当您在 PC 上托管时它会起作用,但请尝试一下。

【讨论】:

    猜你喜欢
    • 2022-01-05
    • 2011-11-25
    • 1970-01-01
    • 1970-01-01
    • 2018-04-14
    • 1970-01-01
    • 2018-06-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多