代码之家  ›  专栏  ›  技术社区  ›  letsCode

使用jQuery/JavaScript在Firebase中嵌套数组

  •  0
  • letsCode  · 技术社区  · 7 年前

    我将把信息加载到一个JSON文件中,然后将其导入firebase,以便加载到我的网站上。我有这样一个JSON示例。。。

    {
                "date": "date of event",
                "title": "title of event",
                "address": "address",
                "city": "city of event",
                "state": "HI",
                "zip": "11111",
                "available": true,
                "cost": "$60",
                "included": [
                    "string1",
                    "string2",
                    "string3"
                ]
            }
    

     database.ref().child('events').once('value', function(snapshot) {
        if (snapshot.exists()) {
          var content = '';
          snapshot.forEach(function(child) {
            var val = child.val();
            content +='<tr>';
            content += '<td>' + val.date + '</td>';
            content += '<td>' + val.title + '</td>';
            content += '<td>' + val.address + '</td>';
            content += '<td>' + val.city + '</td>';
            content += '<td>' + val.state + '</td>';
            content += '<td>' + val.zip + '</td>';
            content += '<td>' + val.cost + '</td>';
            content += '<td>' + val.included + '</td>';
            content += '</tr>';
                });
                $('#ex-table').append(content);
    
        }
      });
    

    除了包括的那部分,一切都好。现在,这个会像 string1,string2,string3

    字符串1

    甚至可以将字符串值转换为img。例如,如果我们提供咖啡或食物,它将是一个代表这一点的图标。

    1 回复  |  直到 7 年前
        1
  •  1
  •   Murli Prajapati    7 年前

    迭代包含的数组并添加 td 到 content .

    database
      .ref()
      .child('events')
      .once('value', function(snapshot) {
        if (snapshot.exists()) {
          var content = '';
          snapshot.forEach(function(child) {
            var val = child.val();
            content += '<tr>';
            content += '<td>' + val.date + '</td>';
            content += '<td>' + val.title + '</td>';
            content += '<td>' + val.address + '</td>';
            content += '<td>' + val.city + '</td>';
            content += '<td>' + val.state + '</td>';
            content += '<td>' + val.zip + '</td>';
            content += '<td>' + val.cost + '</td>';
            val.included.forEach((s) => {
              content += '<td>' + s + '</td>';
            });
            content += '</tr>';
          });
          $('#ex-table').append(content);
        }
      });