检查输入字段的值是否更改

时间:2016-10-12 08:19:01

标签: javascript jquery

我有一个输入字段,其中使用模态填充值,只需当我单击一个按钮时,将出现一个模态,我将在那里选择一些内容,它将填充我的输入字段。

现在我的问题是我想在输入字段的值发生变化时触发事件。我已经尝试过使用.change和.blur,但它不会触发。

这就是我尝试过的所有内容:

$('#myTextbox').on('input', function() {
    alert("test");
});

$('#myTextbox').on('change', function() {
    alert("test");
});

$('#myTextbox').on('blur', function() {
    alert("test");
});

3 个答案:

答案 0 :(得分:2)

使用event delegation

您的问题是您输入的字段是动态生成的。因此,当您的页面准备就绪时,它不在DOM中。

$('body').on('blur', '#myTextbox', function() {
    alert("test");
});

仅供参考,您也可以使用change

修改

您可以使用setTimeout一个解决方案,直到您的文本框获得填充值。

您可以尝试使用DOMAttrModified

$('body').on('DOMAttrModified propertychange paste', '#myTextbox', function() {
    alert("test");
});

Reference

答案 1 :(得分:1)

$(document).ready(function() {
    $('#myTextbox').on('blur', function() {
        alert("test");
    });
});

OR

$(document).ready(function() {
    $('#myTextbox').on('change', function() {
        alert("test");
    });
});

答案 2 :(得分:0)

尝试使用这样的方法,可能是您的input字段在运行时填充,这就是事件未触发的原因。

$(document).on('change blur keyup', '#myTextbox', function() {
    alert("test");
});

您可以使用一个.on()方法绑定所有事件。不需要写任何时间。