我的JS代码可以确定是否选中了任何给定的HTML复选框并执行更多操作。 但是,只有在选择了至少两个项目时,我才需要做一些事情。我当前代码的一部分:
if ($('#a5').is(':checked') || $('#a6').is(':checked')
|| $('#a7').is(':checked')|| $('#a8').is(':checked'))
{
$('#circle_2').css('background-color', '#FF0');
}
我无法弄清楚如果选中至少2个复选框,我应该如何评估。对此有何帮助?
答案 0 :(得分:1)
获取复选框,过滤掉任何未选中的复选框,并查看是否有多个(两个或更多):
if ( $('#a5, #a6, #a7, #a8').filter(':checked').length > 1 ) {
// do stuff
}
答案 1 :(得分:0)
我建议(假设复选框有一个共同的祖先元素):
$('#circle_2').css('background-color', function(){
return $('#ancestorElementID input[type="radio"]:checked').length > 1 ? '#ff0' : '';
});
答案 2 :(得分:0)
或者试试这个,以防您想要通过一些额外功能扩展功能。
http://jsfiddle.net/kasperoo/SharD/
$(document).ready(function () {
var context = $('#form_container'),
checkboxes = 0;
context.find('.chbx').change(function () {
$(this).is(':checked') ? checkboxes++ : checkboxes--;
if (checkboxes > 1) {
context.find('p').text('You have selected ' + checkboxes + ' checkboxes.');
} else {
context.find('p').text('');
}
});
});