簡體   English   中英

過濾鍵值后如何從JSON追加

[英]How to append from JSON after filter on key value

我有一個JSON,其中我使用jQuery $.each函數將數據追加到表中。 我做一個if語句來檢查一個值是否匹配字符串。

在我的最后一個表格列中,我需要從另一個文本過濾器獲取數據。 因此,如果數據值與我的過濾器匹配,則將其附加為最后一個td

dataset = [
  "river": {
    "year": "2016",
    "name": "Silver Creek",
    "series": "Caught fish",
    "weight": "100 kg",

  },
  "river": {
    "year": "2016",
    "name": "Silver Creek",
    "series": "Released fish",
    "weight": "60 kg"
  }
];

$(dataset).each(function(i, data){

  if (data.year === "2016" && data.series === "Caught fish") {
    $('tbody').append('<tr class="river"><td>' + this.year + '</td><td>' + this.name + </td><td>' + this.weight + </td></tr>')
  } if (data.year === "2016" && data.series === "Released fish") {
    $('tr.river').append('<td>' + this.weight + '</td>')
  }

});

上面的代碼不做,但是我想要,但是可能是我要實現的提示。

我需要作為表格行:

YEAR | NAME         | CAUGHT | RELEASED
2016 | Silver Creek | 100 kg | 60 kg

有什么建議么? 我可以根據$.each函數外部的數據集構建一個新變量嗎?

對釋放的魚使用:contains選擇器,查看表中是否已存在年份和水體:

 var dataset = [ {"year": "2015","name": "Cedar Creek","series": "Caught fish","weight": "90 kg"}, {"year": "2016","name": "Silver Creek","series": "Caught fish","weight": "60 kg"}, {"year": "2015","name": "Cedar Creek","series": "Released fish","weight": "40 kg"}, {"year": "2016","name": "Silver Creek","series": "Released fish","weight": "60 kg"} ]; dataset.forEach(function(data) { if(data.series === 'Caught fish') { $('tbody').append('<tr class="river"><td>' + data.year + '<td>' + data.name + '<td>' + data.weight); } else { $('tr:contains(' + (data.year + data.name) + ')').append('<td>' + data.weight); } }); 
 tr > * {border: 1px solid #ddd;} 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <table> <tr><th>YEAR<th>NAME<th>CAUGHT<th>RELEASED </table> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM