2

我有一些自动建议的 jQuery 脚本。它的作用是当我开始输入它时,它会通过 Ajax Post 在我的数据库中查找匹配项。当我单击结果时,输入字段会得到我选择的值。

那行得通,但我想要检查输入的值是否改变了它的值。

我尝试的是

$("input").change(function(){
   alert('change'); 
}); 

但它不起作用。

有没有办法检查表单输入字段是否从 AJAX POST 更改了他的值?

4

2 回答 2

3

.changed is not a function in jQuery.

Here the function is .change use that:

$("input").change(function(){ 
    alert('change'); 
});

Use the following function instead of above:

$(document).ready(function(){
$(".ui-autocomplete").click(function(){
     alert("changed the input field.");
});

});

I am using the class ui-autocomplete as you told that you are using the jQuery autocomplete. You can detect the name of class or id by using the firebug.

于 2013-05-08T12:59:40.200 回答
0

触发变更事件

只有少数事件类型会自动激活更改事件。对于您的特定应用程序,您可能需要手动触发事件,如下所述。

来自jquery 文档

当元素的值改变时,change 事件被发送到元素。此事件仅限于元素、框和元素。

要手动触发事件,请应用 .change() 不带参数:

$('#other').click(function() {
  $('.target').change();
});

我为自己编写了一个监视对象状态并传播状态变化的小实用程序:Oculus。它目前仅用于一个小型客户端项目,但它是一种足够简单的可重用模式。

于 2013-05-08T13:01:06.347 回答