Отметить чекбокс jquery

Рейтинг: 0Ответов: 2Опубликовано: 07.04.2015

Я пытаюсь отметить чекбокс при нажатии, использую атрибут checked. Например если стоит галочка для атрибута Возраст, то появляется поле ввода возраста.

Но приведенный ниже код всегда возвращает false

if($('#isAgeSelected').attr('checked')) {
    $("#txtAge").show();
} else {
    $("#txtAge").hide();
}

Как правильно проверить отмеченность чекбокса?

Ответы

▲ 1Принят
$('#isAgeSelected').is(':checked');
▲ 5

Проверяйте не атрибут, а свойство checkbox элемента:

if ($('#isAgeSelected').prop('checked')) {
    // ...
}

Что будет альтернативно следующему на чистом JavaScript:

if (document.getElementById('isAgeSelected').checked) {
    // ...
}

Этот вариант будет исполняться максимально быстро.


Кроме того, ваш код можно переписать в одну строку:

$("#txtAge").toggle($('#isAgeSelected').prop('checked'));