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

Ren*_*mit 43 jquery

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

Nic*_*tti 65

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

$('#idCheckbox').prop('checked', true);
$('#idCheckbox').prop('checked', false);
Run Code Online (Sandbox Code Playgroud)

删除你也可以使用:

$('#idCheckbox').removeProp('checked');
Run Code Online (Sandbox Code Playgroud)

使用jQuery <1.6,你必须这样做

$('#idCheckbox').attr('checked', true);
$('#idCheckbox').removeAttr('checked');
Run Code Online (Sandbox Code Playgroud)


Jos*_*ega 61

更新:使用prop而不是attr

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

 $('#vehicleChkBox').change(function(){
     cb = $(this);
     cb.val(cb.prop('checked'));
 });
Run Code Online (Sandbox Code Playgroud)

截止日期:

这是jsfiddle

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

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

  • 旧帖子,但你现在应该使用`.prop('checked')`而不是`attr()`.另外,它更容易强制在一行`var $ cb = $(this); $ cb.val($ cb.prop('checked'));`或者如果情况很重要`var $ cb = $(this); $ cb.val(($ cb.prop('checked')+'').toUpperCase());` (2认同)

Thi*_*ter 14

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

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


Kru*_*ule 10

试试这个:

HTML:

<input type="checkbox" value="FALSE" />
Run Code Online (Sandbox Code Playgroud)

JQ:

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

的jsfiddle

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