Проверьте, установлен ли флажок 'this'.

Как я могу поработать, если флажок 'this' был установлен с помощью этой команды?

У меня есть следующее, но не уверен, как это реализовать (поэтому он проверяет только один флажок, а не все на странице

if ($('input[type="checkbox"]').is(':checked')

Ответы

Ответ 1

Как насчет этого?

if($(this).is(':checked'))

Ответ 2

Предположительно, вы имеете в виду this в контексте обработчика событий... В этом случае просто проверьте свойство checked:

$('input[type="checkbox"]').click(function() {
    if (this.checked) {
        // checkbox clicked is now checked
    }
});

Обратите внимание, что вы можете сделать то же самое со следующими способами:

  • $(this).is(':checked')
  • $(this).prop('checked')

Однако this.checked избегает создания нового объекта jQuery, поэтому гораздо эффективнее (и быстрее кода). is является самым медленным: он занимает в два раза длиннее prop и примерно в 100 раз больше, чем простой поиск свойств.

Сравнение jsPerf между этими методами

Ответ 3

Вам нужно использовать селектор идентификаторов. Селектор ввода [type = "checkbox" ] вернет все флажки.

if ($('#Checkbox1').is(':checked'))

где Checkbox1 является идентификатором флажка

Ответ 4

Вы имели в виду это (0 - индекс):

if ($(':checkbox').get(0).is(':checked'))

Или вот так:

if ($(this).is(':checked'))

Ответ 5

Посмотрите prop(): http://api.jquery.com/prop/

Документы предоставляют несколько улучшенных способов проверки флажка "checked".

elem.checked                      |  true (Boolean) Will change with checkbox state
$(elem).prop("checked")           |  true (Boolean) Will change with checkbox state
elem.getAttribute("checked")      |  "checked" (String) Initial state of the checkbox; does not change
$(elem).attr("checked")(1.6)      |  "checked" (String) Initial state of the checkbox; does not change
$(elem).attr("checked")(1.6.1+)   |  "checked" (String) Will change with checkbox state
$(elem).attr("checked")(pre-1.6)  |  true (Boolean) Changed with checkbox state

Ответ 6

попробуйте следующее, где вы знаете id

$('#edit-checkbox-id').is(':checked'); 

или если вы уже ссылаетесь на элемент с этим ключевым словом

$(this).is(':checked');

Ответ 7

Я использую следующее:

$(this).find('input[type="checkbox"]:checked')

этот пример возвращает все флажки.