Проверка всех флажков отмечена, если нажать один конкретный - PullRequest
1 голос
/ 05 февраля 2012

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

Создание функции выглядит так:

$("#meetingspanel td:last").each(function(event){  // Adding the checking column and showing the editing buttons       
       $("#btnDelete").fadeIn("slow"); 
       $("#btnRename").fadeIn("slow");
       $("<td style=border:0px><input type='checkbox' id='btncb'></td>").insertAfter($("td:nth-child(6)")); 
}); 

и чтобы догадаться, что я нахожусь внутри функции, я использовал это:

$(":checkbox").click(function(event){
    alert("im here !");                 
});

и он просто не находит, когда я нажимаю на флажок. Помощь

1 Ответ

1 голос
/ 05 февраля 2012

Если я правильно понял ваш вопрос, вам нужно будет связать событие click таким образом, чтобы оно позволяло запускать элементы, добавленные в DOM после первоначальной привязки, поскольку вы устанавливаете флажки в своемscript.

Если вы используете jQuery 1.7+, используйте on:

$(someAncestor).on("click", ":checkbox", function() {
    //Do stuff
});

someAncestor должен быть элементом, который находится в DOMкогда выполняется приведенный выше код, который является предком флажков, которые вы хотите вызвать событие.Судя по вашему коду, это, вероятно, будет элемент table.

Если вы используете более старую версию jQuery, обратите внимание на метод delegate.

Причина, по которой это работает, заключается в том, что события DOM всплывают из элемента, на котором они происходят, через DOM.Если вы связываете обработчик события с предком, этот обработчик выполняется, когда событие достигает этого элемента.Методы on и delegate обеспечивают способ фильтрации этих событий, поэтому они запускаются только в том случае, если они возникли на определенном элементе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...