使用jQuery将checkbox的值设置为true或false

时间:2011-11-30 15:05:29

标签: jquery

我有一个带复选框的表单。使用jQuery我想将复选框的值设置为TRUE(如果选中),如果未选中,则该值将设置为FALSE。我该怎么办呢?

5 个答案:

答案 0 :(得分:64)

你可以做(​​jQuery 1.6以后):

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

删除你也可以使用:

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

使用jQuery< 1.6你必须做

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

答案 1 :(得分:61)

更新:使用prop而不是attr

 <input type="checkbox" name="vehicle" id="vehicleChkBox" value="FALSE"/>

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

OUT OF 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');
     }
});

答案 2 :(得分:14)

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

如果您使用的是古老的jQuery版本,则需要使用.attr('checked', 'checked')进行检查,然后.removeAttr('checked')取消选中。

答案 3 :(得分:9)

试试这个:

HTML:

<input type="checkbox" value="FALSE" />

JQ:

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

jsfiddle

请注意,未经检查的复选框不会以常规形式提交,您应该使用隐藏的文件来执行此操作。

答案 4 :(得分:4)

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

这会将复选框的value设置为"true""false"value propertystring),具体取决于uncheckedchecked

适用于jQuery&gt; = 1.0