javascript - 使用 php 和 ajax 在表中显示查询的值

标签 javascript php jquery ajax php-5.3

我的代码有问题,所以我有一个数组并传递给模板,该数组如下所示:

Array
(
[0] => Array
    (
        [ref_article] => 1903
        [ref_fournisseur] => sdsds
        [lien_fournisseur] => www.four.com
        [prix_ht] => 14.00
        [gifts_number] => 3
    )

[1] => Array
    (
        [ref_article] => 1907
        [ref_fournisseur] => sdsds
        [lien_fournisseur] => www.four.com
        [prix_ht] => 12.00
        [gifts_number] => 1
    )

)

现在在模板中我这样做:

for (var item in result) {
    document.getElementById('order_information').setAttribute('class','display-on');
    document.getElementById('order_information').setAttribute('class','table');

    var html = '<td>' + result[item]['ref_article'] + '</td>' +
                '<td>' + result[item]['ref_fournisseur'] + '</td>' +
                '<td>' + 'description' + '</td>'+
                '<td>' + result[item]['lien_fournisseur'] + '</td>' +
                '<td>' + result[item]['prix_ht'] + '</td>'+
                '<td>' + 'disponibilite' + 
                '<td>' + result[item]['gifts_number'] + '</td>';
    $("#content-order").html(html);
    console.log(result[item]['ref_article']);
}

问题是只有最后一个<td></td>页面上显示,在本例中仅显示 [ref_article] = 1907 的文章。我究竟做错了什么?你能帮我吗?提前致谢

最佳答案

问题是因为您使用 html() 添加内容 - 这将覆盖 #content-order 元素中任何预先存在的内容。相反,尝试使用 append():

$("#content-order").append(html);

另请注意,您可以修改前两行以使用 jQuery 选择器和 addClass() 方法:

$('#order_information').addClass('display-on table');

如果您想清除先前请求中添加的信息,可以在附加新内容的 for 循环之前使用 .empty()。这是一个完整的示例:

// $.ajax({...

success: function(result) {
    $("#content-order").empty(); // remove existing content
    $('#order_information').addClass('display-on table');

    for (var item in result) {
        var html = '<td>' + result[item]['ref_article'] + '</td>' +
                '<td>' + result[item]['ref_fournisseur'] + '</td>' +
                '<td>description</td>' + // removed redundant string concatenation
                '<td>' + result[item]['lien_fournisseur'] + '</td>' +
                '<td>' + result[item]['prix_ht'] + '</td>'+
                '<td>disponibilite</td>' + // added missing </td>
                '<td>' + result[item]['gifts_number'] + '</td>';
        $("#content-order").append(html);
        console.log(result[item]['ref_article']);
    }
}

关于javascript - 使用 php 和 ajax 在表中显示查询的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31109451/

相关文章:

javascript - 如何使用 jQuery 获取 asp.net 列表框的大小

javascript - 无法隐藏 <em>-Element,它在 Javascript 中作为 String 添加; textContent 不隐藏

php - 将日期格式转换为mysql时间戳

PHP 使用 getResults 根据结果过滤和回显响应

php - MySQL 在 if 语句后停止运行查询

javascript - 悬停时更改框颜色

javascript - 如何在AngularJS中进行验证?

javascript - 映射和 3 个数组哪个更有效?

JavaScript 函数比较数组中的值并返回它

javascript - 是否可以从 Chrome 中的内容脚本执行跨源 XMLHttpRequest?