2012-06-04 72 views
2

我想用jQuery验证表单中的单选按钮,但不起作用。即使我检查一个单选按钮,下面的代码(变量“checked”)返回false。查找是否选中复选框

我在做什么错?

 $('.radio').each(function(){ 
      var checked = $(this).is(':checked'); 
      if($(this).is(':checked') === false){ 
       e.preventDefault(); 
      } 
     }); 
+0

嗯......为什么你在$ 3个相等的迹象(这一点)。是( ':检查')===假)?他们应该是2等号,如$(this).is(':checked')== false)? –

+0

您可以在这里添加您的HTML代码。根据你的代码,它建议每个单选按钮有一个叫radio的类。 – Vins

回答

1

试试这个

$('.radio').each(function(){ 
      var checked = $(this).attr("checked") == "checked"; 
      if(checked){ 
       e.preventDefault(); 
      } 
     }); 
0

使用

$('.radio').click(function(){    
       if($(this).is(':checked') == false){ 
        e.preventDefault(); 
       } 
    }); 

使用$(this).is(:checked)$(this).attr('checked')得到复选框的状态

0
 $('.radio').each(function(e){ 
      var checked = this.checked; // using this.checked is better 
      if(!checked){ // not checked 
       e.preventDefault(); 
      } 
     }); 

,或者如果你想:is(':checked')然后

 $('.radio').each(function(e){ 
      var checked = $(this).is(':checked'); 
      if(!checked){ // not checked 
       e.preventDefault(); 
      } 
     }); 
+0

谢谢!然而,这里看起来有些不对劲。即使我检查所有单选按钮“已选中”设置为false。 :/ – holyredbeard

+0

@holyredbeard您是否将'e'参数传递给'.each()'回调函数 – thecodeparadox

相关问题