как связать обработчик onclick чтобы флажок пришел через ajax php - PullRequest
1 голос
/ 11 января 2011

Привет, я получаю таблицу из запроса ajax, и в этой таблице у меня есть флажок, и я хочу получить его функцию onClick в jquery.please help.

Ответы [ 3 ]

2 голосов
/ 11 января 2011

Я бы порекомендовал вам вместо этого использовать функцию делегат , преимущество в том, что она уменьшает вес добавления обработчика click к каждые и не затрагивается, если новые строки создается динамически или нет, вместо этого он добавляет его ко всей таблице, и когда вы щелкаете по нему, то он выясняет, какой флажок вы щелкнули, вам нужна только пустая таблица, например

<table id="my_table">
</table>

Тогда, когда вы можете добавить новые строки. И ваш код события клика должен выглядеть примерно так:

$("#my_table").delegate('checkbox',function(){
    $(this)
       .closest("tr")
       .css({background:"red"}); //example purposes, not necessary
});
0 голосов
/ 11 января 2011

Два способа сделать это: Один, как указано выше, с использованием .live () или вы можете привязать событие .click () к флажкам после вызова ajax, например,

$.post('url/path', function(response) {
  $('.checkboxes').click( function() {
    //do stuff here
  });
});

Метод .live () прост, но у него есть ограничения, а именно ограничения пузырьков событий, когда он отказывается распространять события нормально.

0 голосов
/ 11 января 2011

Для этого можно использовать событие .live(). Назначьте класс динамически генерируемым флажкам и используйте следующий код.

$("#yourtableid input:checkbox.checkboxclass").live("click", function(){
    // to get the parent row
    var row = $(this).closest("tr");
    // to prevent event bubbling
    return false;
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...