[英]Append all values of array to one table row
我有一个AJAX请求,它从我的数据库返回一个数组,如下所示:
$objet['name']
$objet['date']
$objet['amount']
当我执行each
函数时,它将为每个行和键进行迭代,
我想为每一行进行一次迭代,并在表行中显示数据。 下面是我的代码:
$("#show_debours").dialog("open");
var groupe_debours = $(this).closest('tr').find('.groupe').val();
$.ajax({
type: "POST",
url: "requetes_ajax/fetch_debours_detail.json.php",
data: "groupe=" + groupe_debours,
success: function(data){
$('.remove').remove();
$.each(data, function (data) {
$('#fetchdebours tr:last').after('<tr class="remove"><td>' + data.libelle_debours + '</td><td>' + data.date + '</td><td>' + data.debours_montant_ht_tva + '</td><td>' + data.debours_montant_ht_no_tva + '</td><td>' + data.debours_montant_ttc + '</td></tr>')
//alert(key + ': ' + value);
});
}
});
});
一切正常,但是与其返回具有所有值的一行,它返回的行数与行数和变量数一样多
例如,如果我的数据库中有3行,它将在我的表中返回9行。 它不应该。
在PHP我做
<?php
foreach($data as $row):
echo "<tr><td>{$data['name']}</td><td>{$data['date']}</td>{$data['amount']}</tr>";
endforeach;
?>
一切正常,它会向我返回3行,并填满所有值。 我想要在jQuery中也一样,但我不知道如何。 我已经做了一些研究,但没有成功。
任何帮助将不胜感激
它创建多行,因为您在每次迭代中都创建了一个tr
元素。 尝试这个:
success: function(data){
$('.remove').remove();
var $tr = $('<tr />', { 'class': 'remove' });
$.each(data, function (data) {
$tr.append('<td>' + data.libelle_debours + '</td><td>' + data.date + '</td><td>' + data.debours_montant_ht_tva + '</td><td>' + data.debours_montant_ht_no_tva + '</td><td>' + data.debours_montant_ttc + '</td>');
});
$('#fetchdebours tr:last').after($tr);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.