Setting the value of checkbox to true or false with jQuery
JqueryJquery Problem Overview
I have a form with a checkbox. With jQuery I would like to set the value of the checkbox to TRUE if checked, and if it is not checked, the value will be set to FALSE. How I can do this please?
Jquery Solutions
Solution 1 - Jquery
You can do (jQuery 1.6 onwards):
$('#idCheckbox').prop('checked', true);
$('#idCheckbox').prop('checked', false);
to remove you can also use:
$('#idCheckbox').removeProp('checked');
with jQuery < 1.6 you must do
$('#idCheckbox').attr('checked', true);
$('#idCheckbox').removeAttr('checked');
Solution 2 - Jquery
UPDATED: Using prop instead of attr
<input type="checkbox" name="vehicle" id="vehicleChkBox" value="FALSE"/>
$('#vehicleChkBox').change(function(){
cb = $(this);
cb.val(cb.prop('checked'));
});
OUT OF DATE:
Here is the jsfiddle
<input type="checkbox" name="vehicle" id="vehicleChkBox" value="FALSE" />
$('#vehicleChkBox').change(function(){
if($(this).attr('checked')){
$(this).val('TRUE');
}else{
$(this).val('FALSE');
}
});
Solution 3 - Jquery
Use $('#id-of-the-checkbox').prop('checked', true_or_false);
In case you are using an ancient jQuery version, you'll need to use .attr('checked', 'checked')
to check and .removeAttr('checked')
to uncheck.
Solution 4 - Jquery
Try this:
HTML:
<input type="checkbox" value="FALSE" />
jQ:
$("input[type='checkbox']").on('change', function(){
$(this).val(this.checked ? "TRUE" : "FALSE");
})
Please bear in mind that unchecked checkbox will not be submitted in regular form, and you should use hidden filed in order to do it.
Solution 5 - Jquery
var checkbox = $( "#checkbox" );
checkbox.val( checkbox[0].checked ? "true" : "false" );
This will set the value
of the checkbox to "true"
or "false"
(value property
is a string)
, depending whether it's unchecked
or checked
.
Works in jQuery >= 1.0
Solution 6 - Jquery
<input type="checkbox" name="vehicle" id="vehicleChkBox" value="FALSE"/>
--
$('#vehicleChkBox').change(function(){
if(this.checked)
$('#vehicleChkBox').val('TRUE');
else
$('#vehicleChkBox').val('False');
});