Установка всех флажков

У меня было много проблем с моей функцией. функция должна проверять все флажки, если установлен флажок в первой строке, и наоборот. Вот что я написал:

$("#meetingspanel").on("click", ":checkbox", function() {
  if ($(this).parent().parent() == ($("tr:first"))) {
    chboxcondition++;
    if (chboxcondition % 2 !=0) {
      $(":checkbox").each(function() {
        $(this).attr('checked', true);
      });
    } else {
      $(":checkbox").each(function() {
        $(this).attr('checked', false);
      });
    }
  } else
    return false;
});

Он работает, проверяя их все и снимая отметки. Проблема в том, что он проверяет и снимает все флажки, независимо от того, какой флажок я нажимаю, даже пятый, я хочу только первый в первой строке.

Так происходит создание чекбокса

$("<td style=border:0px><input type='checkbox' id='btncb'></td>").insertAfter($("td:nth-child(6)"));

person Ori Refael    schedule 05.02.2012    source источник
comment
$ (: checkbox). каждый, это будет КАЖДЫЙ флажок ... возможно, что-то вроде этого будет работать: $ (tr: first: checkbox)   -  person XCS    schedule 05.02.2012
comment
почему бы вам не добавить этот прослушиватель событий только к первому флажку, избавив себя от всех отличительных проблем внутри прослушивателя событий?   -  person kontur    schedule 05.02.2012
comment
как выглядит ваша разметка   -  person Rafay    schedule 05.02.2012


Ответы (1)


проблема в том, что вы устанавливаете флажок, который хотите установить (отмечать все флажки или нет) на той же панели.

Решение, поместите все остальные флажки в div, скажем 'checkBoxDiv' и используйте этот идентификатор div в функции выше. Это позаботится о том, чтобы контрольный флажок не был затронут

person Ananda Sudarshan    schedule 05.02.2012
comment
неважная причина. Сделайте какую-нибудь сборку для этого флажка внутри таблицы, вот она: $ (‹td style = border: 0px› ‹input type = 'checkbox' id = 'btncb'› ‹/td›) .insertAfter ($ ( td: nth-child (6))); и он работает из другой функции - person Ori Refael; 05.02.2012