フォームにラジオボタンの質問を動的にプルして表示しています(jqueryタブによって異なるセクションに分けられています)。
したがって、2、3、4、5などのラジオボタンがたくさんあり、「名前」は同じですがIDが異なります。
次にセクション間を押すと、グループごとに少なくとも1つのラジオボタンが選択されていることを確認したいと思います。
(フォームが読み込まれると、ラジオボタンはデフォルトでチェックされていないため、このようにする必要があります。)
現在のセクションのラジオボタンをループできますが、グループごとにチェックされていることを簡単に確認する方法がわかりません。
要素間に関係がない場合、またはグループ名を見つける方法がない場合、私はあなたにポインタを与えることしかできませんが、これは機能するはずです(チェックは_id="nextButton"
_の要素をクリックすることによってトリガーされますが、明らかにこれは可能です$('form').submit()
などの他の適切なイベントに合わせてカスタマイズ:
_$(document).ready(
function(){
$('#nextButton').click(
function(){
var radioName = something; // use this if there's a relationship between the element
// triggering this check and the radio buttons
if ($('input[name='+ radioName +']:checked').length) {
// at least one of the radio buttons was checked
return true; // allow whatever action would normally happen to continue
}
else {
// no radio button was checked
return false; // stop whatever action would normally happen
}
}
);
}
);
_
$("input[@name='the_name']:checked").length;
if ($("input:checked").length < Num_of_groups)
{
alert ("Please select atleast one radio button in each group");
return false;
}
これを試して
if ($('input[name='+radioName+']:checked').length == '0'){
// do something
return false;
}
このコードを使用する
フォームの外にボタンを置くことを忘れないでください
$("#buttonid").click(function(){
var check = true;
$("input:radio").each(function(){
var name= $(this).attr('name');
if($("input:radio[name="+name+"]:checked").length){
check = true;
}
else{
check=false;
}
});
if(check){
$("#formid").submit();
}else{
alert('Please select at least one answer in each question.');
}
});
入力名は同じ名前である必要があります:sendType
これをチェックしてください:
$('#submitBtn').click(function(e){
alert ($('input:radio[name="sendType"]:checked').length);
if ($('input:radio[name="sendType"]:checked').length > 0) {
//GO AHEAD
} else {
alert("SELECT ONE!");
e.preventDefault();
}
});