Несмотря на то, что этот вопрос задает решение jQuery, вот чистый ответ на JavaScript, поскольку никто его не упоминал.
Просто выберите элемент и доступ к свойству checked
(который возвращает логическое значение).
var checkbox = document.querySelector('input[type="checkbox"]');
alert(checkbox.checked);
Ниже приведен быстрый пример прослушивания события change
:
var checkbox = document.querySelector('input[type="checkbox"]');
checkbox.addEventListener('change', function (e) {
alert(this.checked);
});
Чтобы выбрать отмеченные элементы, используйте :checked
pseudo class (input[type="checkbox"]:checked
).
Вот пример, который выполняет итерацию над отмеченными элементами input
и возвращает сопоставленный массив имен проверенных элементов.
var elements = document.querySelectorAll('input[type="checkbox"]:checked');
var checkedElements = Array.prototype.map.call(elements, function (el, i) {
return el.name;
});
console.log(checkedElements);
var elements = document.querySelectorAll('input[type="checkbox"]:checked');
var checkedElements = Array.prototype.map.call(elements, function (el, i) {
return el.name;
});
console.log(checkedElements);
Я увидел эту ветку после публикации своего ответа на аналогичный вопрос. Я хотел предоставить ссылку, потому что я думаю, что тот же подход может быть полезным в зависимости от вашей ситуации. Это может быть излишним для этого точного вопроса, но я хотел бы поделиться, если это поможет кому-то еще.
https://stackoverflow.com/a/52348744/5046784
Короче говоря, вы можете создавать уникальные интерфейсы / классы для каждого именованного объекта (например, MyApiGson и ThirdPartyApiGson), а затем создавать @ Обеспечивает тех, кто не является общим классом Gson. Таким образом, вы можете внедрить экземпляры по классу / интерфейсу, а не по волшебному имени строки, которое вам нужно найти или запомнить. Это немного больше работы, но это помогает, когда у вас есть куча независимых модулей, которые предоставляют разные экземпляры одного и того же класса.