使用jQuery将checkbox的值设置为true或false
我有一个checkbox的表单。 有了jQuery,我想将checkbox的值设置为TRUE(如果选中),如果未选中,则值将设置为FALSE。 我怎么能这样做呢?
更新 :使用道具而不是attr
<input type="checkbox" name="vehicle" id="vehicleChkBox" value="FALSE"/> $('#vehicleChkBox').change(function(){ cb = $(this); cb.val(cb.prop('checked')); });
date :
这是jsfiddle
<input type="checkbox" name="vehicle" id="vehicleChkBox" value="FALSE" /> $('#vehicleChkBox').change(function(){ if($(this).attr('checked')){ $(this).val('TRUE'); }else{ $(this).val('FALSE'); } });
你可以做(jQuery 1.6以上):
$('#idCheckbox').prop('checked', true); $('#idCheckbox').prop('checked', false);
删除你也可以使用:
$('#idCheckbox').removeProp('checked');
与jQuery <1.6你必须做的
$('#idCheckbox').attr('checked', true); $('#idCheckbox').removeAttr('checked');
使用$('#id-of-the-checkbox').prop('checked', true_or_false);
如果你使用的是古老的jQuery版本,你需要使用.attr('checked', 'checked')
来检查和.removeAttr('checked')
来取消选中。
尝试这个:
HTML:
<input type="checkbox" value="FALSE" />
JQ:
$("input[type='checkbox']").on('change', function(){ $(this).val(this.checked ? "TRUE" : "FALSE"); })
的jsfiddle
请记住,未经检查的checkbox将不会以常规forms提交,您应该使用隐藏的域名来执行此操作。
var checkbox = $( "#checkbox" ); checkbox.val( checkbox[0].checked ? "true" : "false" );
这会将checkbox的value
设置为"true"
或"false"
( value property
是一个string)
,具体取决于它是否unchecked
或被checked
。
适用于jQuery> = 1.0