Я пытаюсь отметить чекбокс при нажатии, использую атрибут 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
лучше.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Нужно найти ссылку по тексту "Pages" и если такая ссылка присутствует на странице, тогда поменять ее текст на SponsorshipИнтересует реализация на jQuery...