我有一个自动建议的jQuery脚本。它的作用是当我开始输入时,通过Ajax Post查看我的数据库中的匹配。当我点击结果时,输入字段得到我选择的值。
这有效,但我想要的是检查输入的值是否已改变其值。
我尝试的是
$("input").change(function(){
alert('change');
});
但它不起作用。
有没有办法检查表单输入字段是否已从AJAX POST更改其值?
答案 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。它目前仅用于小型客户端项目,但它是一个足够简单的模式可重用。