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>
Author by
Omid
Updated on July 27, 2022Comments
-
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>