2010-12-18 76 views
1

工作,我有id="new"jQuery的.change不是在IE7

一个形式,我有几个文本输入和选择下拉就可以了。

我使用jQuery代码:

$('form#new').change(function(){ 
    alert('this code works'); 
}); 

.change()功能在IE7中不起作用,但它在所有其他的浏览器IE9,包括

的工作是这一个jQuery错误或做我在这里有一些错误的编码?

什么可能是这样做的替代方法?

我想在这里完成实际的是使用

$(this).serialize(); 

回答

3

你可能会更安全绑定到表单输入的onchange事件:

$('#new :input').change(function(){ 
    alert($(this).parent().serialize()); 
}); 
+1

谢谢先生。这工作完美。你是个学者和绅士。 – Ryan 2010-12-18 02:44:45

+0

所以我想这个问题只是IE7有一个问题指向整个形式的变化,而不仅仅是每个单独的元素。 – Ryan 2010-12-18 02:46:25

+0

我不确定这个问题具体是什么,但是我偶尔用ajax表单提交,并在每次输入更改(包括选择字段)时提交结果并取回结果,而不是深入了解为什么IE7不喜欢它,我应用了这个解决方法,并忘了它:) – karim79 2010-12-18 02:51:15

0

您也可以尝试

$('form#new').children().change(function(){ 
    alert('this code works'); 
});