Jquery Group电台选择

时间:2014-03-24 07:36:41

标签: jquery

我有像这样的单选按钮

<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中,我想确保选择每个组中的一个单选按钮。 我该怎么做

5 个答案:

答案 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>

A working example.

答案 4 :(得分:0)

迭代方法:

HTML

<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>

的JavaScript:

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