JQuery Onchange事件不在生产上工作,但在我的本地实例上工作

时间:2014-05-21 05:35:43

标签: javascript jquery

$("#time-popup").change(function (event) {
    if (document.getElementById("time-popup") != null) {
        document.getElementById("popup_Billed_").value = document.getElementById("time-popup").value;
    }
});

点击time-popup文本框字段时没有触发任何事件。

甚至没有警报
alert($("#time-popup"));

请建议

3 个答案:

答案 0 :(得分:0)

尝试事件委派:

$(document).on('change', "#time-popup", function (event) {
...

来自docs

  

事件委托允许我们将单个事件监听器附加到   父元素,将为匹配a的所有后代触发   选择器,无论这些后代现在存在还是被添加到   将来

答案 1 :(得分:0)

首先,您可以像下面的jQuery一样编写所有内容(不需要注释代码)

$(document).ready(function(){
    $("#time-popup").change(function (event) {
        /*if ($("#time-popup").length > 0) { */
            $("#popup_Billed_").val($("#time-popup").val());
       /*}*/
       // above if condition not required because you are 
       //running this code for onchange event of time-popup 
       // only so no need to check if it exist or not.
    });
});

检查html的控制台错误,并确保页面的查看源中不存在time-popuppopup_Billed的任何重复ID。

此外,如果动态创建时间弹出窗口,则应使用.on()

绑定更改事件
 $(document).ready(function(){
    $(document).on("change","#time-popup",function (event) {
         $("#popup_Billed_").val($("#time-popup").val());
    });
});

答案 2 :(得分:0)

尝试这种方式:

$(document).ready(function(){
  $("#time-popup").on('change',function () {
            document.getElementById("popup_Billed_").value = document.getElementById("time-popup").value;
          });
});