2015-05-30 179 views
2

我正在開發一個表,該表使用ajax/jquery重新加載,但表不會空,將下一個內容附加到表中。重新加載表Ajax jquery

<table class="table" id="pujas"> 
    <thead> 
     <tr> 
      <th>#</th> 
      <th>Nombre</th> 
      <th>Apellido</th> 
      <th>Email</th> 
     </tr> 
    </thead> 
    <tbody> 

    </tbody> 
</table> 

jQuery的

<script> 
$(document).ready(
      function() { 
       setInterval(function() {     
       $.ajax({ 
       url:'../ajaxpujas', 
       dataType:'json', 
       type:'get', 
       cache:true, 
       success:json, 

       }); 

       function json(data){ 
        $(data).each(function(index,value) { 
         console.log(value); 
         var table = '<tr><td>' + value.id + '</td><td>' + value.id_user + '</td><td>' + value.importe + '</td></tr>'; 
         $('#pujas').append(table); 
         }); 
         } 
       }, 1000); 
      }); 
</script> 

這方面有任何想法?我怎樣才能正確地執行刷新表?

回答

1

嘗試:

添加TBODY ID

<tbody id='tbodyid'> 

And cle AR之前追加

$("#tbodyid").empty(); 

在你的代碼

function json(data){ 
        $("#tbodyid").empty(); 
        $(data).each(function(index,value) { 
        ... 
1

您正在使用追加但不追加元素。 您可以使用'.html()'並將HTML添加到當前的HTML中,從var表中添加HTML。

一種不同的方法是實際創建的元素,然後使用.append

1

您必須在新的內容重新裝入之前清理你的<table>內容。

但是,在這種情況下,您應該從<tbody>元素內添加和管理您的表格內容,以保留上述<thead>

所以,在你的JSON功能,你可以做些事情,如:

$('#tbody_id').html (""); // This cleans the previous content. 

,然後添加新的內容,你這樣做:

$('#tbody_id').append ('Your html content');