Дорогой я хотел бы динамически загружать данные таблицы, используя данные формата JSON, поступающие из файла PHP. Я пробовал следующий, и я не вижу никаких данных, отображаемых в таблице.
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 вместо "i", я получаю все значения, но в неправильном порядке, последние в 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>
Лучше всего использовать функцию.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>'
);
});
});
}
Эта вторая версия будет немного более эффективной (немного менее расточительной).
вы пробовали создать селектор, как показано ниже...
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>');
});
});
}