即使通过jquery更改了值,jquery输入字段也会更改

时间:2012-02-09 21:14:38

标签: jquery input onchange

我试图在文本输入字段的值发生变化时捕获。我正在使用:

$("input[name=color]").change(function(){

如果我直接键入新值,则此方法有效。但是,输入字段的值正由jquery更改。这些领域有几个,我需要知道什么时候有变化。有没有办法检测到这种变化?

抱歉,我不清楚。我不是那个改变价值的人。它是一个插件,我宁愿不修改,以防我需要将它移植到另一个项目。

变通

好的,所以你不能做我想做的事,但这是一个解决方法。我刚刚制作了一个间隔,并将change事件更改为each事件。

setInterval(function(){
    $("input[name=color]").each(function(){ my code })
},100);

4 个答案:

答案 0 :(得分:11)

无法以编程方式检测所做的更改。

但是,无论何时修改其值,都可以触发change事件。

$("input[name=color]").val("newValue").change();

答案 1 :(得分:2)

当通过jquery更改值时,您可以使用jquery随后触发change事件

$("input[name=color]").val('someValue').trigger('change');

答案 2 :(得分:1)

不,当使用javascript更改值时,不会触发onchange事件。或者,您可以在更改值时调用onchange事件。

答案 3 :(得分:0)

一个选项是跟踪侦听器范围之外的值

function foo () {
  var value = null;
  $("select#thingy").on("change", function (e) {
    let p = $(this).children("#choose-me").val();
    value = value === p ? null : p;
    $(this).val(value);
  });
}

$(function() {
  foo();
})