Я пытаюсь отметить чекбокс при нажатии, использую атрибут checked. Например если стоит галочка для атрибута Возраст, то появляется поле ввода возраста.
Но приведенный ниже код всегда возвращает false
if($('#isAgeSelected').attr('checked')) {
$("#txtAge").show();
} else {
$("#txtAge").hide();
}
Как правильно проверить отмеченность чекбокса?
$('#isAgeSelected').is(':checked');
Проверяйте не атрибут, а свойство checkbox элемента:
if ($('#isAgeSelected').prop('checked')) {
// ...
}
Что будет альтернативно следующему на чистом JavaScript:
if (document.getElementById('isAgeSelected').checked) {
// ...
}
Этот вариант будет исполняться максимально быстро.
Кроме того, ваш код можно переписать в одну строку:
$("#txtAge").toggle($('#isAgeSelected').prop('checked'));
Eщё есть вариант слегка костыльный, но может пригодится в других задачах
if ($('#isAgeSelected:checked').length > 0) {
...
}
но в данном случае prop или isChecked лучше.
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости