我有像这样的单选按钮
<input name="show[1]" type="radio" value="1" /> Show<br>
<input name="show[1]" type="radio" value="0" /> Hide<br>
<input name="show[2]" type="radio" value="1" /> Show<br>
<input name="show[2]" type="radio" value="0" /> Hide<br>
...
...
...
<input name="show[n]" type="radio" value="1" /> Show<br>
<input name="show[n]" type="radio" value="0" /> Hide<br>
这里n的长度可以变化。
这是表单提交的一部分。 在jquery中,我想确保选择每个组中的一个单选按钮。 我该怎么做
答案 0 :(得分:1)
试试这个:
$(':radio').each(function() {
nam = $(this).attr('name');
if (submitme && !$(':radio[name="'+nam+'"]:checked').length) {
alert(nam+' group not checked');
submitme = false;
}
});
<强> Working Demo 强>
答案 1 :(得分:0)
您可以遍历show array的所有数字,并检查单选按钮是否被选中,如下所示。
var n=2;
var allSelected=false;
for(i=1;i<=n;i++){
if($('[name="show['+n+']"]').is(':checked') == false){
break;
}
allSelected = true;
}
if(allSelected==true){
alert('All selected');
}
else{
alert('All not selected');
}
循环后,如果在allSelected中变为true,则可以确保选中每个组中的一个单选按钮。
希望这会对你有所帮助。
答案 2 :(得分:0)
试试这个[fiddle][1]
$("#submit").click(function(){
alert($('input[class=show]:radio:not(:checked)').val("1").length)
});
这将返回未选择的节目单选按钮的数量..因此,如果它发出警告n表示没有显示复选框,如果它警告小于n的数字,则表示已检查单选按钮。
这有用吗
答案 3 :(得分:0)
可以使用HTML5 requried
Reference.来轻松完成此操作
的 CODE 强>
<form method="post">
<input name="show[1]" type="radio" value="1" required/>Show
<br>
<input name="show[1]" type="radio" value="0" required/>Hide
<br>
<input name="show[2]" type="radio" value="1" required/>Show
<br>
<input name="show[2]" type="radio" value="0" required/>Hide
<br>
<input name="show[n]" type="radio" value="1" required/>Show
<br>
<input name="show[n]" type="radio" value="0" required/>Hide
<br>
<input type="submit" value="submit" />
</form>
答案 4 :(得分:0)
迭代方法:
<input name="show[1]" type="radio" value="1" /> Show<br>
<input name="show[1]" type="radio" value="0" /> Hide<br>
<input name="show[2]" type="radio" value="1" /> Show<br>
<input name="show[2]" type="radio" value="0" /> Hide<br>
<input name="show[3]" type="radio" value="1" /> Show<br>
<input name="show[3]" type="radio" value="0" /> Hide<br>
<button>Check</button>
function check_radio_buttons() {
var i=1;
while ($("input[name='show[" + i + "]']").attr("value")) {
if(!$("input[name='show[" + i + "]']:checked").attr("value")) {
return false;
}
i++;
}
return true;
}
$("button").click( function () {
alert(check_radio_buttons());
});
您必须确保输入顺序为1到n。
<强> Fiddle 强>