Как я могу получить значение флажка в jQuery?
537
Чтобы получить значение атрибута Value, вы можете сделать что-то вроде этого:
$("input[type='checkbox']").val();
Или, если вы установили class
или id
для него, вы можете:
$('#check_id').val();
$('.check_class').val();
Однако это вернет то же самое значение, независимо от того, отмечено оно или нет, это может сбить с толку, поскольку оно отличается от представленного поведения формы.
Чтобы проверить, проверено это или нет, выполните:
if ($('#check_id').is(":checked"))
{
// it is checked
}
$("input:checkbox")
. Кроме того, кажется, что опечатка в селекторе классов ...$($0).val()
в Chrome и сниму флажок, ответ «включен», даже если он не отмечен. Но$($0).is(":checked")
возвращает правильное значение.[type="checkbox"]
имеет лучшую производительность в современных браузерах, чем:checkbox
.$('#check_id').val();
на$('#check_id').is(":checked");
возвращаемое значение true или false.Эти 2 способа работают:
$('#checkbox').prop('checked')
$('#checkbox').is(':checked')
(спасибо @mgsloan)источник
Попробуйте это небольшое решение:
или
источник
Единственный правильный способ получения значения флажка заключается в следующем
как объяснено в официальной документации на сайте jQuery. Остальные методы не имеют ничего общего со свойством флажка, они проверяют атрибут, что означает, что они проверяют начальное состояние флажка, когда он был загружен. Итак, вкратце:
elem.checked
), или вы можете использовать$(elem).prop("checked")
если хотите положиться на jQuery.$(elem).is(":checked")
.Ответы вводят в заблуждение, пожалуйста, проверьте ниже себя:
http://api.jquery.com/prop/
источник
.is(":checked")
и.prop(":checked")
работают одинаково для меня с JQuery 1.10.0Просто чтобы уточнить вещи:
Вернет «истина» или «ложь»
источник
источник
источник
Простой, но эффективный и предполагает, что вы знаете, флажок будет найден:
Дает
true
/false
источник
Пример
Демо
источник
Несмотря на то, что этот вопрос требует решения jQuery, здесь есть чистый ответ на JavaScript, поскольку никто его не упомянул.
Без jQuery:
Просто выберите элемент и получите доступ к
checked
свойству (которое возвращает логическое значение).Вот быстрый пример прослушивания
change
события:Чтобы выбрать отмеченные элементы, используйте
:checked
псевдокласс (input[type="checkbox"]:checked
).Вот пример, который перебирает проверенные
input
элементы и возвращает сопоставленный массив имен проверенных элементов.Пример здесь
Показать фрагмент кода
источник
checked
свойство легко доступно для собственного элемента DOM. Некоторые из людей, которые ищут такие вопросы / ответы, как правило, не знают о том, что JQuery иногда не требуется. Другими словами, ограниченные люди не являются целевой демографической для этого ответа.Вот как получить значение всех отмеченных флажков в виде массива:
источник
получить значение проверенного checkboxex в
jquery
:в
pure js
:источник
Используйте следующий код:
источник
источник
Лучший способ это
$('input[name="line"]:checked').val()
А также вы можете получить выделенный текст
$('input[name="line"]:checked').text()
Добавьте значение атрибута и имя для ваших входов переключателя. Убедитесь, что все входы имеют одинаковый атрибут name.
источник
источник
Просто внимание, по состоянию на сегодня, 2018, из-за изменения API с годами. removeAttr запрещены, больше не работают!
Jquery Установите или снимите флажок:
Плохо, больше не работает.
Вместо этого вы должны сделать:
источник