Javascript 每个div中必须至少选中一个复选框
Html代码Javascript 每个div中必须至少选中一个复选框,javascript,jquery,css,Javascript,Jquery,Css,Html代码 <div class="answer"> <input type="checkbox" /> <input type="checkbox" /> <input type="checkbox" /> <input type="checkbox" /> </div> <div class="answer"> <input type="checkbox" /&
<div class="answer">
<input type="checkbox" />
<input type="checkbox" />
<input type="checkbox" />
<input type="checkbox" />
</div>
<div class="answer">
<input type="checkbox" />
<input type="checkbox" />
<input type="checkbox" />
<input type="checkbox" />
</div>
<button>check</button>
但是我的代码没有在每个
试试看
if ($('.answer').filter(function(){ return $(this).find(':checked').length === 0 }).length > 0 ) {
alert('At least 1 checkbox must be checked from this div!');
}
试试看
您可以循环浏览所有
。回答,并检查其中是否未选中复选框:
$('button').click(function(){
$('.answer').each(function() {
if($(this).find(':checkbox:checked').length === 0) {
alert('At least 1 checkbox must be checked from this div!');
}
});
});
您可以循环查看所有。回答,并检查其中是否未选中复选框:
$('button').click(function(){
$('.answer').each(function() {
if($(this).find(':checkbox:checked').length === 0) {
alert('At least 1 checkbox must be checked from this div!');
}
});
});
试试这个:
$('button').click(function(){
$('.answer').each(function() {
if (!$(this).find('input:checked').length ) {alert('At least 1 checkbox must be checked from this div!');
return false;
}});});
试试这个:
$('button').click(function(){
$('.answer').each(function() {
if (!$(this).find('input:checked').length ) {alert('At least 1 checkbox must be checked from this div!');
return false;
}});});
选择器中的问题是您选择了所有答案。答案
要选择有问题的块,而不循环所有答案,有一个更复杂的选择器:
$('button').click(function(){
// check if there is an '.answer' which does NOT have checked checkbox.
var checkedboxes = $(".answer:not(:has(> input:checkbox:checked))").length;
if (checkedboxes > 0){
alert('At least 1 checkbox must be checked from this div!');
}
});
选择器中的问题是您选择了所有答案。答案
要选择有问题的块,而不循环所有答案,有一个更复杂的选择器:
$('button').click(function(){
// check if there is an '.answer' which does NOT have checked checkbox.
var checkedboxes = $(".answer:not(:has(> input:checkbox:checked))").length;
if (checkedboxes > 0){
alert('At least 1 checkbox must be checked from this div!');
}
});