2011-07-27 20 views
0

私はいくつかの質問で投票をしています。ここにHTMLコードjquery validation

<form id="pool"> 
<div class="questions> 
    <input type="radio" name="sex">Male 
    <input type="radio" name="sex">Female 
</div> 

<div class="questions> 
    <input type="radio" name="hair">Brown 
    <input type="radio" name="hair">Blonde 
</div> 

.... a lot of qestions div's 
</form> 

フォームがすべてのdiv`sにチェックされたラジオボタンがあることを確認するために提出されたら、どうすればいいですか?

+0

可能重複している私の経験からjquery validate plugin

を使用することができ、すべてのラジオグループ場合オプションを選択しました](http://stackoverflow.com/questions/6796870/determine-if-every-radio-group-has-had-an-option-selected) – Paulpro

答えて

1

do:

if($('#pool input:radio:checked').length < numGroups){ 
    // At least one group isn't checked 
} 

それ以外の場合は、最初にグループの数を数える必要があります。私は、より良いこれを行うにはどのような方法を考えることはできません。

var rgroups = []; 
$('#pool input:radio').each(function(index, el){ 
     var i; 
     for(i = 0; i < rgroups.length; i++) 
      if(rgroups[i] == $(el).attr('name')) 
       return true; 
     rgroups.push($(el).attr('name')); 
    } 
); 
rgroups = rgroups.length; 

if($('#pool input:radio:checked').length < rgroups) 
    alert('You must fill in all the fields.'); 
else 
    alert('Thanks!'); 
0

を設定するか、送信ボタンのハンドラを作成し、いくつかの値がチェックされているかどうかを確認します。何のラジオボタンがチェックされていない場合は、エラーメッセージを表示し、フォーム(falseを返す)

0

未テストコードを提出していないが、これはアイデアです:あなたが知っている場合は、あなただけのことができます持っているか、多くのグループ

if($('#pool').children().length == $('pool 
div').find('#pool input:radio:selected').length) { 
//do stuff 
} 
0

あなたはこのプラグインは、[決定の非常に効率的