我有一个带复选框的表单。使用jQuery我想将复选框的值设置为TRUE(如果选中),如果未选中,则该值将设置为FALSE。我该怎么办呢?
答案 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");
})
请注意,未经检查的复选框不会以常规形式提交,您应该使用隐藏的文件来执行此操作。
答案 4 :(得分:4)
var checkbox = $( "#checkbox" );
checkbox.val( checkbox[0].checked ? "true" : "false" );
这会将复选框的value
设置为"true"
或"false"
(value property
为string)
,具体取决于unchecked
或checked
。
适用于jQuery&gt; = 1.0