Jquery, чтобы найти, какой флажок установлен?

#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