如何选择由ajax加载的元素

时间:2017-08-02 06:43:02

标签: jquery ajax

如果用户点击id =“show”的元素,我会通过ajax方法检索数据。然后我把id放在<table>里面。我的问题是在通过ajax加载后我想删除每个项目<i>如果有人点击它。

<script>
   $('#show').on('click',function(){
        $.ajax({
                url:"index.php",
                method :"post",
                success: function(data){
                             for( var j in results){
                               var data = results[j];
                               $('tbody').append('<tr><td>'+data['name']+'</td><td>'+data['goods']+'</td><td>'+data['price']+'</td><td>'+data['date']+'</td><td><i id="'+data['id']+'" class="fa fa-times" aria-hidden="true"></i></td></tr>'); 
                                 }
                            } 
                });
   });

</script>
<script>
  $('i').on('click', function(){
     var id = $(this).attr('id');
     $.ajax({
          data:id,
           url: "delete.php"
      });
  });
</script>

但遗憾的是,我无法通过选择<i>来删除。

2 个答案:

答案 0 :(得分:1)

您需要更新AJAX。您需要在data中传递{}。检查以下内容:

$('i').on('click', function() {
  var id = $(this).attr('id');
  $.ajax({
    async: false,
    url: 'delete.php',
    data: {
      id: id
    },
    type: "POST",
    dataType: "json",
    success: function(data) {
      // code here...
    }
  });
});

答案 1 :(得分:0)

试试这个

 $(document).on('click', 'i', function(){
     var id = $(this).attr('id');
     $.ajax({
          data:id,
           url: "delete.php"
      });
  });