Jquery не распознает напечатанный идентификатор

0

Я не могу манипулировать ячейками моего стола с помощью JQuery

У меня есть jsp, где я вызываю другой jsp с JQuery/Post, который печатает таблицу динамически

$(document).ready(function(){     
    var usuario =  $("#Id").text();
    var s = "13";
    $.post("../Querys/select_subcategoria.jsp",{s:s,usuario:usuario})
        .done(function(data) {
            $("#tab-index-div").append(data);
        });
});

он добавляется в div.

то у меня есть этот код, который помогает сделать щелчок в отверстии tr, а затем он вызывает ссылку

$('#tab-search tr').click(function() {
    var href = $(this).find("a").attr("href");
    if(href) {
        window.location = href;
    }
});

Он работает, если я печатаю таблицу в одном JSP, но не работает, если я печатаю ее в другом JSP, я пытался добавить данные в таблицу и просто добавить <tr>, но не работает тоже,

Я думаю, что JQuery не распознает идентификатор таблицы

Если у кого-нибудь есть идеи, это будет большой помощью.

  • 1
    Динамические обработчики данных должны использовать делегирование событий.
  • 0
    Я сделал это $(document).on('click', "#tab-search tr", function(){ var href = $(this).find("a").attr("href"); if(href) { window.location = href; } }); Я нашел ответ в stackoverflow.com/questions/10377060/…
Теги:
jsp

2 ответа

0

попробуй это:

$('#tab-search').delegate('tr', 'click', function() {
    var href = $(this).find("a").attr("href");
    if(href) {
        window.location = href;
    }
});
0

Ваш click() не будет обрабатывать динамически добавленные элементы, вы должны использовать метод on() следующим образом:

$('#tab-search').on('click','tr a', function(e) {
    var href = $(this).attr("href");
    if(href) {
        window.location = href;
    }
)}

Я не тестировал, но это идея.

В более старой версии jQuery у нас была функция live() для управления ими, но она устарела для более новых версий.

Удачи

Ещё вопросы

Сообщество Overcoder
Наверх
Меню