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

276
12 декабря 2016, 10:07

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

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

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

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

Answer 1
$('#isAgeSelected').is(':checked');
Answer 2

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

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

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

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

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

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

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

Eщё есть вариант слегка костыльный, но может пригодится в других задачах

if ($('#isAgeSelected:checked').length > 0) {
  ...
}

но в данном случае prop или isChecked лучше.

READ ALSO
Как реализовать аналог $(document).ready на чистом JS?

Как реализовать аналог $(document).ready на чистом JS?

Тоже самое только на JSКак перевести?

421
Найти ссылку по содержимому и заменить текст. Как сделать на JS?

Найти ссылку по содержимому и заменить текст. Как сделать на JS?

Нужно найти ссылку по тексту "Pages" и если такая ссылка присутствует на странице, тогда поменять ее текст на SponsorshipИнтересует реализация на jQuery...

349
jQuery: зависимость высота от контейнера

jQuery: зависимость высота от контейнера

Как сделать что если высотаcontainer больше высоты

243