How To Check If All Checkboxes Are Unchecked
Solution 1:
The following should do the trick:
var textinputs = document.querySelectorAll('input[type=checkbox]');
varempty = [].filter.call( textinputs, function( el ) {
return !el.checked
});
if (textinputs.length == empty.length) {
alert("None filled");
returnfalse;
}
Solution 2:
You can simplify a little, given that you're able to use querySelectorAll()
:
var checked = document.querySelectorAll('input:checked');
if (checked.length === 0) {
// there are no checked checkboxesconsole.log('no checkboxes checked');
} else {
// there are some checked checkboxesconsole.log(checked.length + ' checkboxes checked');
}
JS Fiddle (with no checkboxes checked).
JS Fiddle (with some checkboxes checked).
Or, if all you want is a Boolean value to indicate whether any checkbox is checked, for use in a function:
var isChecked = document.querySelectorAll('input:checked').length === 0 ? false : true;
return isChecked;
You could, of course, avoid creating a variable and simply return the result of the ternary; I only used the variable to try and make it clear what, precisely, I was returning/testing-for.
Reference:
Solution 3:
Here, a short and very simple example (Vanilla Javascript):
if (document.querySelectorAll('input[type="checkbox"]:checked').length === document.querySelectorAll('input[type="checkbox"]').length) {
console.log('All checkboxes are checked');
} else {
console.log('Some checkboxes are not checked');
}
Here in jQuery syntax:
if ($('input[type="checkbox"]:checked').length === $('input[type="checkbox"]').length) {
console.log('All checkboxes are checked');
} else {
console.log('Some checkboxes are not checked');
}
Another way to do it, with the :not() pseudo-selector:
if (document.querySelectorAll('input[type="checkbox"]:not(:checked)').length) {
console.log('Some checkbox are not checked');
}
Solution 4:
I would recommend name spacing with class or id
var checked = document.querySelectorAll('input.myClassName:checked');
//orvar checked = document.querySelectorAll('input#myIdName:checked');
if (checked.length === 0) {
console.log('no checkboxes checked');
} else {
console.log(checked.length + ' checkboxes checked');
}
Solution 5:
Pseudo class input[type="checkbox"]:not(":checked") should work perfectly in jquery:
var checkboxes = { id:"hello", value:"value", checked:"false" }
$('.post-text').append('<div id="wrappingcheckboxes"></div>'); for (var i = 0; i<= 10; i ++){ $('#wrappingcheckboxes').append("<input type='checkbox' value='"+checkboxes.value + i + "' id='"+checkboxes.id + i+"'/>");}
$('#wrappingcheckboxes input[type="checkbox"]:not(":checked")')
Post a Comment for "How To Check If All Checkboxes Are Unchecked"