Can I use jQuery to check whether at least one checkbox is checked?

JavascriptJquery

Javascript Problem Overview


I have the following HTML form which can have many checkboxes. When the submit button is clicked, I want the user to get a javascript alert to check at least one checkbox if none are checked. Is there an easy way to do this using jQuery?

<form name = "frmTest" id="frmTest">
  <input type="checkbox" value="true" checked="true" name="chk[120]">
  <input type="checkbox" value="true" checked="true" name="chk[128]">
  <input type="checkbox" name="chk[130]">
  <input type="checkbox" name="chk[143]">
  <input type="submit" name="btnsubmit" value="Submit">
</form>

Javascript Solutions


Solution 1 - Javascript

if(jQuery('#frmTest input[type=checkbox]:checked').length) { … }

Solution 2 - Javascript

$('#frmTest input:checked').length > 0

Solution 3 - Javascript

$("#frmTest").submit(function(){
    var checked = $("#frmText input:checked").length > 0;
    if (!checked){
        alert("Please check at least one checkbox");
        return false;
    }
});

Solution 4 - Javascript

$("#show").click(function() {
	var count_checked = $("[name='chk[]']:checked").length; // count the checked rows
		if(count_checked == 0) 
		{
			alert("Please select any record to delete.");
			return false;
		}
		if(count_checked == 1) {
			alert("Record Selected:"+count_checked);
			
		} else {
			alert("Record Selected:"+count_checked);
		  }
});

Solution 5 - Javascript

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form name = "frmTest[]" id="fm_submit">
  <input type="checkbox" value="true" checked="true" >
  <input type="checkbox" value="true" checked="true" >
  <input type="checkbox" >
  <input type="checkbox" >
  <input type="submit" id="fm_submit" name="fm_submit" value="Submit">
</form>
<div class="container"></div>

$('#fm_submit').submit(function(e){
    e.preventDefault();
    var ck_box = $('input[type="checkbox"]:checked').length;
    
    // return in firefox or chrome console 
    // the number of checkbox checked
    console.log(ck_box); 

    if(ck_box > 0){
      alert(ck_box);
    } 
});

Solution 6 - Javascript

$('#frmTest').submit(function(){
    if(!$('#frmTest input[type="checkbox"]').is(':checked')){
      alert("Please check at least one.");
      return false;
    }
});

is(':checked') will return true if at least one or more of the checkboxes are checked.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionJakeView Question on Stackoverflow
Solution 1 - JavascriptQuentinView Answer on Stackoverflow
Solution 2 - JavascriptMatthew FlaschenView Answer on Stackoverflow
Solution 3 - JavascriptJonView Answer on Stackoverflow
Solution 4 - JavascriptchithonView Answer on Stackoverflow
Solution 5 - JavascriptDomingoView Answer on Stackoverflow
Solution 6 - JavascriptneveraskedforthisView Answer on Stackoverflow