获取JSON响应并根据JSON中的特定键插入表单元格

时间:2019-03-12 09:49:21

标签: jquery html json

以下是我来自服务器的JSON响应

[  
{  
  "id":"32df40f8-44a8-11e9-abcd-005056a92189",
  "filename":"BHR.PNG",
  "name":"Qatar",
  "step_c":"1",
  "date_uploaded":"2019-03-12"
},
{  
  "id":"693e2cb4-40a6-11e9-9754-005056a92189",
  "filename":"CT2.PNG",
  "name":"Qatar",
  "step_c":"1",
  "date_uploaded":"2019-03-07"
},
{  
  "id":"87d29f34-40a6-11e9-b03a-005056a92189",
  "filename":"CT3.PNG",
  "name":"Qatar",
  "step_c":"2",
  "date_uploaded":"2019-03-07"
}
]

下面我的jQuery代码的一部分

if(json != null && json.length > 0)
{      
$.each(json, function(index, value) {
if(this.step_c == 1){
   $("#s1").html("<a href='https://example.com/rest/v10/DocumentLinks/" + this.id + "/file/uploadfile?force_download=1&platform=base'>" + this.filename + "</a>");
   $("#u1").html(this.date_uploaded);
}
if(this.step_c == 2){
   $("#s2").html("<a href='https://example.com/rest/v10/DocumentLinks/" + this.id + "/file/uploadfile?force_download=1&platform=base'>" + this.filename + "</a>");
   $("#u2").html(this.date_uploaded);
}
});
}

在这里,我试图从JSON响应中获取数据并将其插入到我的html表单元格中。 s1,u1是表tds。

我要做的是,当step_c为1时,我想获取所有文件名并以逗号分隔的形式插入td。这里,当step_c为1时,有两个文件名BHR.PNG和CT2.PNG,所以我想同时获取两个文件名并将它们作为BHR.PNG,CT2.PNG插入到#s1中。

我该怎么做?谢谢

1 个答案:

答案 0 :(得分:1)

这很简单。

替换:

$("#s1").html("<a href='https://example.com/rest/v10/DocumentLinks/" + this.id + "/file/uploadfile?force_download=1&platform=base'>" + this.filename + "</a>");

使用:

    var fileLabel = this.filename;
    if (index > 0) {
      fileLabel = ", " + this.filename; 
    }
    $("#s1").append("<a href='https://example.com/rest/v10/DocumentLinks/" + this.id + "/file/uploadfile?force_download=1&platform=base'>" + fileLabel + "</a>");

您要查找“追加”而不是“ html”。您还可以调整fileLabel变量,使其在A标签内不包含逗号,但这是一个很好的起点。