#jquery #checkbox
#jquery #флажок
Вопрос:
У меня на странице есть 10 флажков, динамически создаваемых jquery.
Он начинается как chk1, chk2 and….so вкл.
Я хочу узнать, какой флажок установлен из 10 флажков.
for (i=0; i < tbl01.length; i )
{
if ($("input[type=checkbox][checked]"))
{
var checked = chk i;
}
}
где
tbl01
должен ли мой набор данных динамически создавать мои флажки
Я пытался в какой-то степени, это правильно?
Ответ №1:
Используйте селектор :checked:
$("input[type=checkbox]:checked")
Кроме того, если вы просто проверяете, существует ли элемент, вы захотите проверить .length
в возвращаемом селекторе (поскольку jquery всегда возвращает объект, в нем может просто ничего не быть):
if ($("input[type=checkbox]:checked").length) {
// do stuff
}
Комментарии:
1. @nandu ну, немного сложно точно сказать, что вы делаете, но селектор ‘:checked’ вернет любые элементы, которые отмечены. Я не уверен, что
for
цикл делает в вашем коде, но селектор внутри него всегда будет возвращать одни и те же элементы.2. ох. Спасибо за объяснение. У меня всего неделя опыта работы с jquery, и я борюсь с этим. даже один пробел или двоеточие приводят к большим ошибкам. 1 и отвечаю за вас 🙂
3. @nandu если целью вашего
for
цикла было перебрать все флажки и найти установленный, в этом нет необходимости. Селектор jQuery просмотрит все флажки и найдет тот, который установлен.4. @David вы говорите, что код работает одинаково даже без цикла for? достаточно просто инструкций if и var chk? тогда это здорово со стороны jquery 🙂
5. @David — Проголосовав за тебя, я получил значок «Гражданский долг» : D