检查是否选中了任意数量的复选框

时间:2016-05-13 11:35:23

标签: jquery

我在页面上有很多复选框,看起来像这样,我不知道这些复选框的价值是什么,因此我不知道ID是什么:

<input value="78" type="radio" name="radio_tax_input[unit-type][]" id="in-unit-type-78">
<input value="90" type="radio" name="radio_tax_input[unit-type][]" id="in-unit-type-90">
<input value="3" type="radio" name="radio_tax_input[unit-type][]" id="in-unit-type-3">

我确实知道复选框的名称。我尝试使用jQuery检查是否已经检查了这些复选框的数量:

var selected_type = $("[name='radio_tax_input[unit-type][]']:checked").length; // count the unit type selections

if(selected_type == 0){
    alert('denied');
    return false;
}

但是我的变量selected_type始终设置为0.有人可以提出原因吗?

3 个答案:

答案 0 :(得分:1)

var selected_type = $('input[name="radio_tax_input[unit-type][]"]:checked').length;

这很好用。 JsFiddle:https://jsfiddle.net/sfaw9vvt/

答案 1 :(得分:1)

试试这个: -

$(document).ready(function () {
    var selected_type = $("[name*='radio_tax']:checked").length; // count the unit type selections

                if (selected_type == 0) {
                    alert('denied');

                }
 });

如果您没有使用任何功能,请确保您的代码在$(document).ready

希望这会有所帮助。

答案 2 :(得分:1)

如果您能够使用<div>包围复选框,则以下内容将起作用:

var checkboxes = $('#container').find('input');
var checked = false;
for(var x = 0; x < checkboxes.length; x++){
    var box = checkboxes[x];
    if(box.checked){
        checked = true;
    }
}
if(!checked){
    alert('denied');
    return false;
}

工作:https://jsfiddle.net/ojcv14v1/1/#&togetherjs=zSaKxCDtqI