У меня есть 8 флажков, разделенных на группы 2. В первой группе у меня есть один флажок с меткой checkbox1 и один помеченный checkbox2. Я хочу, чтобы JavaScript-код позволял мне проверять форму отправки, проверено ли хотя бы одно из двух этих флажков для каждой группы.
Я не хочу, чтобы скрипт просто проверял, проверял ли вы только один флажок, поскольку это будет означать, что пользователю не нужно будет проверять хотя бы один из других флажков в другой группе флажков.
Кто-нибудь знает, как я могу это сделать, и я иду по правильным линиям?
$('#form_check').on('submit', function (e) {
if ($("input[id=box1]:checked").length === 0) {
if ($("input[id=box2]:checked").length === 1) {
} else {
if ($("input[id=box2]:checked").length === 0) {
if ($("input[id=box1]:checked").length === 1) {
e.preventDefault();
alert('no way you submit it without checking a box');
return false;
}
}
}
}
});
Делай это так:
$("button").click(function(){
var length = 0; // initial length
$(".group").each(function(){
// if box is checked, add 1, else 0
length += ($(this).find("input:checked").length === 1);
});
// if there are as many box checked as many groups, i.e. one checked box per group
if(length === $(".group").length){
alert("y");
}else{
alert("no");
}
});
8
тогда он должен вернуть true?