通过Ajax检查表单中的更改

时间:2013-05-08 12:54:25

标签: jquery html

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

这有效,但我想要的是检查输入的值是否已改变其值。

我尝试的是

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

但它不起作用。

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

2 个答案:

答案 0 :(得分:3)

.changed不是jQuery中的函数。

这里的函数是.change使用: <击>

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

<击>

使用以下功能代替上述功能:

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

});

我正在使用类ui-autocomplete,因为您告诉您正在使用jQuery自动完成。您可以使用firebug检测类或id的名称。

答案 1 :(得分:0)

触发更改事件

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

来自jquery documentation

  

更改事件在其值更改时发送到元素。此事件仅限于元素,框和元素。

     

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

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

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