Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 输入上的Jquery不处理动态插入的值_Javascript_Jquery_Input_Alert - Fatal编程技术网

Javascript 输入上的Jquery不处理动态插入的值

Javascript 输入上的Jquery不处理动态插入的值,javascript,jquery,input,alert,Javascript,Jquery,Input,Alert,当值是从javascript代码生成时,我试图使用jquery警告它,该值是在输入框上生成的问题是jquery无法检测到更改,我测试的命令是“change,input”,但当我手动输入值时,jquery会触发 示例代码: 值在javascript上动态生成,并推送/插入到inputbox,而不是手动生成 javascript: document.getElementById("displayDID").value = DisplayName ; <input type="text" id

当值是从javascript代码生成时,我试图使用jquery警告它,该值是在输入框上生成的问题是jquery无法检测到更改,我测试的命令是“change,input”,但当我手动输入值时,jquery会触发

示例代码:

值在javascript上动态生成,并推送/插入到inputbox,而不是手动生成 javascript:

document.getElementById("displayDID").value = DisplayName ;
<input type="text" id="displayDID" />
$('#displayDID').on("input" ,function() {
            var work = $(this).val();
            alert(work);
        });
html:

document.getElementById("displayDID").value = DisplayName ;
<input type="text" id="displayDID" />
$('#displayDID').on("input" ,function() {
            var work = $(this).val();
            alert(work);
        });
id=“displayDID”的值更改,但jquery在执行后无法检测到它


示例fiddle

这是因为您在输入准备就绪之前添加了脚本。因此,未在该元素上设置事件。请在文档准备就绪时编写代码:

$(document).ready(function(){
 $('#displayDID').on("input" ,function() {
        var work = $(this).val();
        alert(work);
    });
})
或使用事件委派:

$(document).on("input",'#displayDID' ,function() {
        var work = $(this).val();
        alert(work);
    });
添加触发器

$('#gen').on('click',function() {
    $('#field').val('val').trigger("change");
});


$(document).on("change",'#field' ,function() {
    var work = $(this).val();
    alert(work);

});

好的,我会给你一个答案,让我们看看它是否能解决你的问题。 如果您使用keyup,并插入3350值,您将显示4个警报,我认为您只希望显示1个警报

$(文档).ready(函数(){
var区间;
$(“#variazionenticipo”)。关于(“输入”,函数(){
var variazionenticpo=$(“#variazionenticpo”).val();
间隔时间;
interval=setTimeout(函数(){showValue(variazionenticpo)},1000);
});
});
函数showValue(值){
警报(“反警报:”+值);
}

它工作正常:如果您想提醒每次更改,将“输入”更改为“keyup”,或者如果您想提醒焦点后的更改,将“更改”更改为“focusoutit”如何?它在手动输入时工作正常,但在从Javascript推送值时无法尝试此选项:$(“#displayDID”).val('some value')。change();-这应该会触发onchange事件。我想这就是你想要的:有关此链接的更多信息,请参阅Davids回答:仍然没有触发jquerycan您可以创建小提琴吗?请阅读说明,它不是手动触发的,它是由系统触发的。