IE检测不到jQuery更改方法

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

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

  1. $("#checkBox_ID").change(function(){
  2.  
  3. if($('#'+$(this).attr("id")).is(':checked'))
  4. {
  5. var value = "1";
  6. }
  7. else
  8. {
  9. var value = "0";
  10. }
  11. alert(value);
  12.  
  13. return false;
  14. });

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

  1. $("#checkBox_ID").change(function(){
  2.  
  3. if( $('#'+$(this).attr("id")'+:checked').attr('checked',false))
  4. {
  5. var value = "1";
  6. }
  7. else
  8. {
  9. var value = "0";
  10. }
  11. alert(value);
  12.  
  13. return false;
  14. });

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

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

解决方法

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

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

  1. $("#checkBox_ID").change(function(){
  2. var value;
  3. if($(this).is(':checked'))
  4. {
  5. value = "1";
  6. }
  7. else
  8. {
  9. value = "0";
  10. }
  11. alert(value);
  12.  
  13. return false;
  14. });

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

猜你在找的jQuery相关文章