Я не могу манипулировать ячейками моего стола с помощью 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 не распознает идентификатор таблицы
Если у кого-нибудь есть идеи, это будет большой помощью.
попробуй это:
$('#tab-search').delegate('tr', 'click', function() {
var href = $(this).find("a").attr("href");
if(href) {
window.location = href;
}
});
Ваш click() не будет обрабатывать динамически добавленные элементы, вы должны использовать метод on() следующим образом:
$('#tab-search').on('click','tr a', function(e) {
var href = $(this).attr("href");
if(href) {
window.location = href;
}
)}
Я не тестировал, но это идея.
В более старой версии jQuery у нас была функция live() для управления ими, но она устарела для более новых версий.
Удачи
$(document).on('click', "#tab-search tr", function(){ var href = $(this).find("a").attr("href"); if(href) { window.location = href; } });
Я нашел ответ в stackoverflow.com/questions/10377060/…