我为单选按钮创建了一个元素ID数组,如下所示:
var buttons = [$('#first'), $('#second'), $('#third'), $('#fourth')];
我现在要做的是,检查是否每个都被检查,如果是,请添加一个类,否则添加一个类到其他东西。我知道这对于每个 id :
分别是如何做到的if($('#first').is(':checked')) {
$('.cb-enable').addClass('selected');
}
else {
$('.cb-disable').addClass('selected');
}
我尝试使用if($('buttons').is(':checked')) {
,但它不起作用。
有人可以帮我解决这个问题吗?
答案 0 :(得分:1)
尝试:
var buttons = $('#first:checked,#second:checked,#third:checked,#fourth:checked');
if (buttons.length>0)
{
...
} else {
...
}
答案 1 :(得分:1)
你应该使用
$(elem).prop("checked")
如果选中或未选中单选按钮,则获取true
或false
值。
答案 2 :(得分:1)
也许你可以尝试这样的事情:
$('input[type=radio]').each(function (index) {
if ($(this).is(':checked'))
$('.cb-disable').addClass('selected');
else
$('.cb-enable').addClass('selected');
}
您可能不需要索引,但它会是增量的,以便在dom中找到它,就像您尝试的那样,具体取决于您尝试执行的操作的详细信息。
答案 3 :(得分:1)
这是一个有效的演示:http://jsbin.com/UpUk/1/edit
<button class="check">Tell me what is checked</button>
<input type="radio" class="checkable">
<input type="radio" class="checkable">
<input type="radio" class="checkable">
<input type="radio" class="checkable">
<input type="radio" class="checkable">
var $radios = $('.checkable');
$('.check').click(function() {
$radios.each(function(index, item) {
if ($(item).is(':checked')) {
alert('item: '+index+' is checked!');
}
});
});
通常最好使用类,并且您不需要单独处理每个项目以完成您要执行的操作。
这是一个更好的版本,处理切换类。它可能比您正在寻找的更多,但我不知道您使用的是什么。
这应该足以帮助您了解如何处理您的项目。
答案 4 :(得分:1)
var buttons = [$('#first'), $('#second'), $('#third'), $('#fourth')];
$.each(buttons, function(i,el){
alert( el[0].checked );
});