IE检测不到jQuery更改方法

前端之家收集整理的这篇文章主要介绍了IE检测不到jQuery更改方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
以下代码在FF,Safari,Chrome中工作.但IE正在给我问题.

当选中复选框时,我无法让IE检测到它.

$("#checkBox_ID").change(function(){

   if($('#'+$(this).attr("id")).is(':checked'))
   { 
       var value = "1"; 
   }
   else
   { 
       var value = "0"; 
   } 
   alert(value);

   return false;
});

简单来说,我没有像预期那样得到那个警报弹出窗口.
我甚至以这种方式尝试过:

$("#checkBox_ID").change(function(){

   if( $('#'+$(this).attr("id")'+:checked').attr('checked',false))
   { 
       var value = "1"; 
   } 
   else
   { 
       var value = "0"; 
   } 
   alert(value);

   return false;
});

以下是简单的复选框输入:< input class =“prod”type =“checkBox”name =“checkBox_ID”id =“checkBox_ID”value =“1”/>

任何人知道IE是否需要不同的jquery方法?或者我的代码是否关闭

解决方法

正如IE7及以下版本的sblom所指出的那样,您需要将该动作的元素模糊起来,IE和其他浏览器的更高版本不需要明确失去焦点的元素,只需更改即可触发此事件(如下图所示例).

我相信你的问题可能在于超出范围的时候你试图访问“值”变量.

$("#checkBox_ID").change(function(){
var value;
if($(this).is(':checked'))
{ 
    value = "1"; 
}
else
{ 
    value = "0"; 
} 
alert(value);

return false; 
});

Here is a working preview,请注意,因为在函数结束时返回false,因此将复选框重置为其先前的值,因为已取消点击效果.

猜你在找的jQuery相关文章