2014-01-08 126 views
0

親愛的,我想用PHP文件中的JSON格式數據動態加載表數據。我嘗試了下面的一個,但沒有看到表中顯示的任何數據。動態創建Jquery選擇器

function loadTable() { 
    $.getJSON('sort.php', function(data) { 
     $.each(data, function(i, val) { 
      $('#most_active tr:eq(i)').after(
       '<tr>'+ 
        '<td>'+val.value1+'</td>'+ 
        '<td>'+val.value2+'</td>'+ 
        '<td>'+val.value3'</td>'+ 
        '<td>'+val.data+'</td>'+ 
       '</tr>' 
      ); 
     }); 
    }); 
} 

如果我嘗試使用0而不是這第二個「我」我得到的所有的值,但在錯誤的順序,最後在JSON成爲表中的第一個。

function loadTable() { 
    $.getJSON('sort.php', function(data) { 
     $.each(data, function(i, val) { 
      $('#most_active tr:eq(0)').after(
       '<tr>'+ 
        '<td>'+val.value1+'</td>'+ 
        '<td>'+val.value2+'</td>'+ 
        '<td>'+val.value3'</td>'+ 
        '<td>'+val.data+'</td>'+ 
       '</tr>' 
      ); 
     }); 
    }); 
} 

任何建議檢索並正確填充表和JSON向量相同的順序?

感謝

的代碼部分相關表中

<table id="most_activeAP" class="table table-hover"> 
    <thead> 
     <tr> 
      <th>Name</th> 
      <th>Value</th> 
      <th>Value</th> 
      <th>Time</th> 
     </tr> 
    </thead> 
    <tbody></tbody> 
</table> 
+1

我已經將你的問題重新定義爲JavaScript,因爲你似乎沒有問任何有關PHP的問題。 –

+0

發佈你的一些數據,或者至少是它的確切結構。 – tenub

+0

你可以使用[datatables](http://datatables.net/)插件 – Liam

回答

0

你最好使用.EQ ()功能

function loadTable() { 
    $.getJSON('sort.php', function(data) { 
     $.each(data, function(i, val) { 
      $('#most_active tr').eq(i).after(
       '<tr>'+ 
        '<td>'+val.value1+'</td>'+ 
        '<td>'+val.value2+'</td>'+ 
        '<td>'+val.value3'</td>'+ 
        '<td>'+val.data+'</td>'+ 
       '</tr>' 
      ); 
     }); 
    }); 
} 

這也意味着,你可以再建立自己的元素列表和重複使用它:

function loadTable() { 
    $.getJSON('sort.php', function(data) { 
     var $mostActiveRows = $('#most_active tr'); 
     $.each(data, function(i, val) {  
      $mostActiveRows.eq(i).after(
       '<tr>'+ 
        '<td>'+val.value1+'</td>'+ 
        '<td>'+val.value2+'</td>'+ 
        '<td>'+val.value3'</td>'+ 
        '<td>'+val.data+'</td>'+ 
       '</tr>' 
      ); 
     }); 
    }); 
} 

這第二個版本會有點更高效(少一點浪費)。

+0

謝謝這工作也。 – user3155074

0

你嘗試過如下創建選擇...

function loadTable() 
{ 
    $.getJSON('sort.php', function(data) 
    { 
     $.each(data, function(i, val) 
     { 
      $('#most_active tr:eq(' + i + ')').after('<tr><td>'+val.value1+'</td><td>'+val.value2+'</td><td>'+val.value3'</td><td>'+val.data+'</td></tr>'); 
     }); 
    }); 
} 
+0

非常感謝你,它的工作原理。是我的錯誤,我忘了管理'我'作爲變量 – user3155074