jquery - 使用 jQuery 从 AJAX 响应(json)构建表格行

标签 jquery json html-table

可能重复Nested elements

我从服务器端 ajax 响应 (Json) 获取,我正在尝试动态创建表格行并将它们附加到 id=records_table 的现有表格。

我试图重复实现该解决方案,但失败了。

我的回复是这样的:

    '[{
      "rank":"9",
      "content":"Alon",
      "UID":"5"
     },
     {
       "rank":"6",
       "content":"Tala",
       "UID":"6"
    }]'

要求的结果是这样的:

<tr>
   <td>9</td>
   <td>Alon</td>
   <td>5</td>  
</tr>
<tr>
   <td>6</td>
   <td>Tala</td>
   <td>5</td>  
</tr>

我想在不解析 Json 的情况下做一些事情,所以我尝试执行以下操作,这当然是一场灾难:

    function responseHandler(response)
    {

        $(function() {
            $.each(response, function(i, item) {
                $('<tr>').html(
                    $('td').text(item.rank),
                    $('td').text(item.content),
                    $('td').text(item.UID)
                ).appendTo('#records_table');

            });
        });


    }

在我的解决方案中,我在所有单元格中只得到一行数字 6。我做错了什么?

最佳答案

使用 .append 代替 .html

var response = "[{
      "rank":"9",
      "content":"Alon",
      "UID":"5"
     },
     {
       "rank":"6",
       "content":"Tala",
       "UID":"6"
    }]";

// convert string to JSON
response = $.parseJSON(response);

$(function() {
    $.each(response, function(i, item) {
        var $tr = $('<tr>').append(
            $('<td>').text(item.rank),
            $('<td>').text(item.content),
            $('<td>').text(item.UID)
        ); //.appendTo('#records_table');
        console.log($tr.wrap('<p>').html());
    });
});

关于jquery - 使用 jQuery 从 AJAX 响应(json)构建表格行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54729713/

相关文章:

javascript - 在不改变位置的情况下淡入淡出内联div?

javascript - 如果 hashMap 具有相同的键名称,如何获取对象数组中的所有值

javascript - 在 NodeJS 和 Typescript 中从 csv 转换为 json 后如何打印 json 数组中的单个键和值

html - 有没有办法清除/隐藏两个 td 表中的第一个 td,而无需访问第一个 td?

javascript - 使用 JavaScript 的 HTML 表格列组

javascript - 在 jQuery 组合框上选择下拉项后触发事件

jquery - 如何覆盖响应式 jquery Datatable 插件中的自动列隐藏?

javascript - json-schema v4 如何根据枚举实现枚举?

css - 如何使用 Bootstrap 帮助程序类在表格内设置链接样式?

javascript - Jquery 无法禁用事件