Jquery.change()函数的行为

Jquery.change()函数的行为,jquery,onchange,Jquery,Onchange,我有一个输入文本框,我已经连接了jquery“change”函数。我想捕获文本框的文本何时更改。目前,使用my change函数,当用户键入文本值并点击enter键时,将触发更改事件。该文本框也可以使用表单其他位置下拉菜单中的文本值填充。当用户在下拉列表中选择该选项时,文本值将自动填充先前的文本框值。但是,尽管文本框的值已更改,但更改事件不会触发。我想知道为什么?我需要捕获文本框的值在任何一种情况下的变化。我需要找到这个问题的最佳解决方案,我正在努力更好地理解change函数的行为。谢谢您的帮助

我有一个输入文本框,我已经连接了jquery“change”函数。我想捕获文本框的文本何时更改。目前,使用my change函数,当用户键入文本值并点击enter键时,将触发更改事件。该文本框也可以使用表单其他位置下拉菜单中的文本值填充。当用户在下拉列表中选择该选项时,文本值将自动填充先前的文本框值。但是,尽管文本框的值已更改,但更改事件不会触发。我想知道为什么?我需要捕获文本框的值在任何一种情况下的变化。我需要找到这个问题的最佳解决方案,我正在努力更好地理解change函数的行为。谢谢您的帮助。

在文本输入上尝试“输入”而不是“更改”,但警告:IE8不能与“输入”一起工作,因此您也可以使用“按下键”。。。这就是您要寻找的吗?

要从选择列表中捕获您要填充的文本框的值,只需通过添加类似$(this).val()的内容来修改您的函数即可;定义要动态添加文本的位置后

$(function(){
 $("select").change(function(){ // get value of select list on change, add this to next input
    var a = $(this).val();
    $("input").next(function(){
      $(this).val(a);
    });
    });
});

$(function(){
 $("input").change(function(){ // get value of your textbox on change, log to console
   var a = $(this).val();
   console.log(a);
  });
});

您是否尝试过从选择框onChange()或onBlur()事件中调用更改函数?当以编程方式更改元素的值时,不会触发任何本机事件,因为这会违反直觉,相反,当以编程方式更改值时,您会触发更改事件。