Как я могу проверить, что хотя бы один флажок должен быть выбран в php с помощью jQuery?
Я хочу показать предупреждение, если пользователь не пометит ни одного флажка.
Вот текущий код, который я тестирую, но он всегда выдает предупреждение.
HTML:
<div class="form">
<form id="dddd" action="action.php" method="post" enctype="multipart/form-data">
<div>
<label><input type="checkbox" name="checkboxlist[]" value="a" checked> a</label>
<label><input type="checkbox" name="checkboxlist[]" value="b" checked> b</label>
<label><input type="checkbox" name="checkboxlist[]" value="c" checked> c</label>
<label><input type="checkbox" name="checkboxlist[]" value="d" checked> d</label>
<label><input type="checkbox" name="checkboxlist[]" value="e" checked> e</label>
<label><input type="checkbox" name="checkboxlist[]" value="f" checked> f</label>
<label><input type="checkbox" name="checkboxlist[]" value="g" checked> g</label>
</div>
<p>
<button type="submit" class="btn btn-primary">Start</button>
</p>
</form>
JavaScript:
$(document).ready(function() {
$("form#dddd").submit (function() {
if ($('.checkboxlist').is(":checked") == false) {
alert("Please select at least one item !");
return false;
}
return true;
});
});
Редактировать на основе ответов и работает
Рабочий код
<script>
$(document).ready(function() {
$("form#dddd").submit (function() {
if($('input[type="checkbox"]:checked').length) {
return true;
} else {
alert("Please select at least one item !");
return false;
}
});
});
</script>
Проверьте длину :checked
флажок вроде следующего
if($('input[type="checkbox"]:checked').length) {
// do your stuff
}
вместо
if($('.checkboxlist').is(":checked") == false) {
}
Попробуй это :
if($('input[name^=checkboxlist]:checked').length > 0) {
alert("success");
} else {
alert("error");
return false;
}