Reset checkbox to initial status

11,250

Solution 1

Iterate over all your input elements and uncheck the ones which are checked.

var allInputs = $( ":input" );

for(var i = 0; i < allInputs.length; i++) {

   if( $( 'input[type="checkbox"]:checked' ) )
      $( this ).prop('checked', false);
}

Or as James pointed out, this could be done in one line like this:

$( 'input[type="checkbox"]' ).prop('checked', false);

Solution 2

Try this:

var resetForm = function(){
    $('#form')[0].reset();
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<form method="POST" id="form">
<input type="text" name="name" id="name" value="default value" required >
<input type="checkbox" name="group[]" id="checkbox1" value="0" checked>
<input type="checkbox" name="group[]" id="checkbox2" value="1" >
<button type="reset" onclick="resetForm()"> Reset </button>
<button type="submit"> Submit </button>
</form>

Share:
11,250
Omid
Author by

Omid

Updated on July 27, 2022

Comments

  • Omid
    Omid almost 2 years

    As you may know, Reset buttons in a form can not reset checkboxes to their initial status. How can I make that happen either with javascript or PHP or jquery or ...?
    Here is the code I have:

    <form method="POST">
    <input type="text" name="name" id="name" value="default value" required >
    <input type="checkbox" name="group[]" id="checkbox1" value="0" checked>
    <input type="checkbox" name="group[]" id="checkbox2" value="1" >
    <button type="reset"> Reset </button>
    <button type="submit"> Submit </button>
    </form>