2017-07-11 39 views
1

我正在文檔就緒函數加載jQuery Datatable,我從ajax響應創建表體正在行,但數據表仍然顯示數據不可用,並沒有做任何排序和計數從表中添加的行從ajax響應。如何從ajax響應動態創建的行上加載Jquery DataTable?

<table id="mytable">     
    <thead>     
    <th>Name</th> 
    <th>Email</th> 
    </thead> 
    <tbody id="tableBody"></tbody> 
</table> 
function getUsers(){ 
    $.ajax({ 
    url: "/user.php", 
    type: 'POST', 
    dataType: 'json', 
    success: function(json) {    
     var tr; 
     for (var i = 0; i < json.length; i++) { 
     tr = $('<tr/>'); 
     tr.append("<td><a>" + json[i].first_name + ' ' + json[i].last_name + "</a></td>"); 
     tr.append("<td><a href='mailto:" + json[i].email + "'>" + json[i].email + "</a></td>"); 
     $("#mytable > tbody").append(tr);      
     } 
    }, 
    }); 
} 

$(document).ready(function() { 
    getUsers(); 
    $('#mytable').dataTable(); 
}); 

回答

0

試試這個功能

function getUsers(){ 
    $.ajax({ 
     url: "/user.php", 
     type: 'POST', 
     dataType: 'json', 
     success: function(json) { 
      var tr; 
      for (var i = 0; i < json.length; i++) { 
       tr = '<tr>'; 
       tr+="<td><a>"+json[i].first_name +' '+json[i].last_name+"</a></td>"; 
       tr+="<td><a href='mailto:"+ json[i].email +"'>"+ json[i].email + "</a></td>"; 
       tr+='</tr>'; 
       $("#tableBody").append(tr); 
      } 

     }, 
    }); 
} 

我的東西它會爲你工作。

+0

是的,我已經嘗試過,但它沒有奏效。所以我把它寫在一個單獨的方法中,即dynamiclly創建的行,然後我調用了ajax成功。在下面我調用$('#mytable')。dataTable();它的工作。 – ParminderBrar

+0

好吧,那很好。 –

+1

我只是錯過了把'$(「#tableBody」)。append(tr);'放在for循環中 –

相關問題