Динамически создаваемая таблица через ajax нарушает функциональность .on - PullRequest
2 голосов
/ 14 февраля 2012

Я использую ajax для динамического создания таблицы.Когда кто-то вводит запрос, создается таблица (данные), которая заменяет содержимое внутри #content-display:

function searchQuery(query){    
    $.ajax({
      url: "search.php",
      data: {term: query},
      success: function(data){
          $("#content-display").html(data);
      },
      dataType: 'html'
    });     
}

Когда кто-то нажимает на запись в таблице, я хочу предупредить пользователя о том, что оннажал:

$(document).ready(function(){    
    $("#myTable tbody tr").on('click', function (){    
        alert($(this).children(":first")text());       
    });    
});

Однако метод .on у меня не работает.Когда я заменяю .on на .live, он предупреждает пользователя о том, на что он только что нажал, но, поскольку .live устарел, как мне изменить синтаксис метода .on, чтобы заставить его работать?

Ответы [ 2 ]

4 голосов
/ 14 февраля 2012
$(document).ready(function(){    
    $("#content-display").on('click', '#myTable tbody tr', function (){    
        alert($(this).children(":first").text());       
    });    
});
0 голосов
/ 14 февраля 2012

Почему бы не использовать

$("#myTable tbody tr").click(function() {});

вместо

...