У меня есть форма с флажком. С jQuery я хотел бы установить значение флажка TRUE, если отмечено, и если оно не отмечено, значение будет установлено на FALSE. Как я могу это сделать?
Установка значения флажка в true или false с помощью jQuery
Ответ 1
ОБНОВЛЕНО: использование prop вместо attr
<input type="checkbox" name="vehicle" id="vehicleChkBox" value="FALSE"/>
$('#vehicleChkBox').change(function(){
cb = $(this);
cb.val(cb.prop('checked'));
});
ВНЕ ДАТЫ:
Вот 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
Вы можете выполнить (jQuery 1.6 и далее):
$('#idCheckbox').prop('checked', true);
$('#idCheckbox').prop('checked', false);
для удаления вы также можете использовать:
$('#idCheckbox').removeProp('checked');
с jQuery < 1.6 вы должны сделать
$('#idCheckbox').attr('checked', true);
$('#idCheckbox').removeAttr('checked');
Ответ 3
Используйте $('#id-of-the-checkbox').prop('checked', true_or_false);
Если вы используете старую версию jQuery, вам нужно использовать .attr('checked', 'checked')
для проверки и .removeAttr('checked')
, чтобы снять флажок.
Ответ 4
Попробуйте следующее:
HTML:
<input type="checkbox" value="FALSE" />
JQ:
$("input[type='checkbox']").on('change', function(){
$(this).val(this.checked ? "TRUE" : "FALSE");
})
Пожалуйста, имейте в виду, что флажок без отметки не будет отправлен в обычной форме, и вы должны использовать скрытую заявку, чтобы сделать это.
Ответ 5
var checkbox = $( "#checkbox" );
checkbox.val( checkbox[0].checked ? "true" : "false" );
Это установит флажок value
в поле "true"
или "false"
(value property
является string)
, в зависимости от того, является ли он unchecked
или checked
.
Работает в jQuery >= 1.0