繁体   English   中英

将数组的所有值附加到一个表行

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM