Estableciendo el valor de la checkbox en verdadero o falso con jQuery

Tengo un formulario con una checkbox. Con jQuery me gustaría establecer el valor de la checkbox en VERDADERO si está marcado, y si no está marcado, el valor se establecerá en FALSO. ¿Cómo puedo hacer esto por favor?

ACTUALIZADO : Uso de prop en lugar de attr

 $('#vehicleChkBox').change(function(){ cb = $(this); cb.val(cb.prop('checked')); }); 

FUERA DE LA FECHA :

Aquí está el jsfiddle

  $('#vehicleChkBox').change(function(){ if($(this).attr('checked')){ $(this).val('TRUE'); }else{ $(this).val('FALSE'); } }); 

Puedes hacer (jQuery 1.6 en adelante):

 $('#idCheckbox').prop('checked', true); $('#idCheckbox').prop('checked', false); 

Para eliminar también puedes usar:

 $('#idCheckbox').removeProp('checked'); 

con jQuery <1.6 debes hacer

 $('#idCheckbox').attr('checked', true); $('#idCheckbox').removeAttr('checked'); 

Use $('#id-of-the-checkbox').prop('checked', true_or_false);

En caso de que esté utilizando una versión antigua de jQuery, deberá usar .attr('checked', 'checked') para verificar y .removeAttr('checked') para desmarcar.

Prueba esto:

HTML:

  

jQ:

 $("input[type='checkbox']").on('change', function(){ $(this).val(this.checked ? "TRUE" : "FALSE"); }) 

jsfiddle

Por favor, tenga en cuenta que la checkbox sin marcar no se enviará en forma regular, y debe usar el archivo oculto para hacerlo.

 var checkbox = $( "#checkbox" ); checkbox.val( checkbox[0].checked ? "true" : "false" ); 

Esto establecerá el value de la checkbox en "true" o "false" (la value property es una string) , dependiendo de si está unchecked o está checked .

Funciona en jQuery> = 1.0

  

 $('#vehicleChkBox').change(function(){ if(this.checked) $('#vehicleChkBox').val('TRUE'); else $('#vehicleChkBox').val('False'); });