Javascript:遍历对象数组以查找键值对并将其呈现在表td中

用户1234

这是动态创建的以下表代码,我想获取存储在TD中的最后2个值。最后一个td值采用“键值对”的形式。我想显示如下内容:

 <tbody>
    {{#items}}
            <tr>
                <td>{{name}}</td>
                <td>{{description}}</td>
                <td id="newval">{{new_value}}</td>
                <td id="oldval">{{old_value}}</td>
           </tr>    
    {{/items}}
 </tbody>

这是从服务器获取的json:

{  
   "result":"OK",
   "items":[  
      {  
         "name":"abc",
         "description":"desc",
         "new_value":{  
            "description":"newvalue"
         },
         "old_value":{  
            "description":"oldvalue "
         }
      },
      {  
         "name":"abc3",
         "description":"desc2",
         "new_value":{  
            "interval":"newvalue2"
         },
         "old_value":{  
            "interval":"oldvalue2 "
         }
      }
   ]
}

这是js:

  $.each(lists,function(i,items){
          for (var key in items) {
            if(key == 'new_value'){
              for(value in items[key]){
            $("td#newval").html(value + " : " +items[key][value]);
              }
            }
          }
      });

同样,我正在为旧值进行操作,只是替换了“ td” id和值。但是发生的是,只有第一个td被更新为数组中“ new_value”的所有值,其余的td变为空白。我想以一种方式显示,它将遍历数组并找到与“ new_value”对象关联的键值对,并为相应的td呈现两个值。

<td>description: newvalue</td>
<td>interval: newvalue2</td>

我怎样才能做到这一点?谢谢!

阿伦·P·约翰尼

由于元素的ID必须是唯一的,因此您应该使用其他属性来对元素进行分组。

这里一种可能的方法是使用类和数据属性来指定要映射到类似字段的属性

var data = {
  "result": "OK",
  "items": [{
    "name": "abc",
    "description": "desc",
    "new_value": {
      "description": "newvalue"
    },
    "old_value": {
      "description": "oldvalue "
    }
  }, {
    "name": "abc3",
    "description": "desc2",
    "new_value": {
      "interval": "newvalue2"
    },
    "old_value": {
      "interval": "oldvalue2 "
    }
  }]
};
var trmap = {};
$('table tr').each(function() {
  trmap[$(this).children(':first-child').text().trim()] = this;
});

$.each(data.items, function(i, item) {
  if (trmap[item.name]) {
    var $tr = $(trmap[item.name]);
    $tr.find('.val').text(function() {
      var key = $(this).data('key');
      var arr = [];
      $.each(item[key], function(key, value) {
        arr.push(key + ': ' + value)
      });
      return arr.join('');
    });
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
  <tbody>
    <tr>
      <td>abc</td>
      <td>desc</td>
      <td class="val" data-key="new_value">key: newvalue</td>
      <td class="val" data-key="old_value">key: oldvalue</td>
    </tr>
    <tr>
      <td>abc3</td>
      <td>desc2</td>
      <td class="val" data-key="new_value">key: newvalue2</td>
      <td class="val" data-key="old_value">key: oldvalue2</td>
    </tr>
  </tbody>
</table>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何查找特定对象并将其放入javascript数组中

来自分类Dev

如何连接相关对象并将其呈现在模板中?

来自分类Dev

JavaScript-通过类似的属性查找对象并将其推送到新数组中

来自分类Dev

在数组中查找重复的对象值并将其合并-JAVASCRIPT

来自分类Dev

JavaScript-通过类似的属性查找对象并将其推送到新数组中

来自分类Dev

如何遍历api中的对象列表并将其呈现到jsx页面React功能组件

来自分类Dev

可能基于id查找对象,然后将其呈现在react组件中

来自分类Dev

循环遍历并将每个表行td元素值存储为对象数组

来自分类Dev

如何遍历HTML并将其转换为对象数组?

来自分类Dev

遍历对象中的键值

来自分类Dev

遍历数据库对象并将数据附加到Javascript中具有特定键值的对象

来自分类Dev

Javascript:从对象数组内部提取对象,并将其放入新数组中

来自分类Dev

显示遍历对象数组的键值对

来自分类Dev

在javascript中获取JSON对象的对象名称并将其存储在字符串数组中

来自分类Dev

遍历JavaScript中的对象数组

来自分类Dev

如何遍历数组并将其值存储在Laravel中

来自分类Dev

如何遍历数组并将其显示在$ scope(angularjs)中

来自分类Dev

什么是使用查找索引从数组中获取对象或在JavaScript中获取映射键值的更快方法?

来自分类Dev

android从mysql检索数据并将其呈现在recycleview中并添加事件

来自分类Dev

如何从对象的数组中挑选数据并将其插入Javascript中的对象的另一个数组中?

来自分类Dev

从数组中提取数据并将其包含在 javascript 中的对象中

来自分类Dev

遍历对象数组,并将值替换为数组中的值

来自分类Dev

检查从ajax响应获取的对象的javascript数组中是否存在值并将其删除

来自分类Dev

查找除数并将其存储在数组中

来自分类Dev

在数组中查找重复值并将其全部输出

来自分类Dev

在数组中查找重复值并将其全部输出

来自分类Dev

迭代 json 对象,同时将其键值与 javascript 中的模式匹配

来自分类Dev

从对象数组中的数组中查找项目(水果)列表并计算其数量并将其作为对象推入另一个数组

来自分类Dev

使用 nodejs 在对象数组中查找特定键值

Related 相关文章

  1. 1

    如何查找特定对象并将其放入javascript数组中

  2. 2

    如何连接相关对象并将其呈现在模板中?

  3. 3

    JavaScript-通过类似的属性查找对象并将其推送到新数组中

  4. 4

    在数组中查找重复的对象值并将其合并-JAVASCRIPT

  5. 5

    JavaScript-通过类似的属性查找对象并将其推送到新数组中

  6. 6

    如何遍历api中的对象列表并将其呈现到jsx页面React功能组件

  7. 7

    可能基于id查找对象,然后将其呈现在react组件中

  8. 8

    循环遍历并将每个表行td元素值存储为对象数组

  9. 9

    如何遍历HTML并将其转换为对象数组?

  10. 10

    遍历对象中的键值

  11. 11

    遍历数据库对象并将数据附加到Javascript中具有特定键值的对象

  12. 12

    Javascript:从对象数组内部提取对象,并将其放入新数组中

  13. 13

    显示遍历对象数组的键值对

  14. 14

    在javascript中获取JSON对象的对象名称并将其存储在字符串数组中

  15. 15

    遍历JavaScript中的对象数组

  16. 16

    如何遍历数组并将其值存储在Laravel中

  17. 17

    如何遍历数组并将其显示在$ scope(angularjs)中

  18. 18

    什么是使用查找索引从数组中获取对象或在JavaScript中获取映射键值的更快方法?

  19. 19

    android从mysql检索数据并将其呈现在recycleview中并添加事件

  20. 20

    如何从对象的数组中挑选数据并将其插入Javascript中的对象的另一个数组中?

  21. 21

    从数组中提取数据并将其包含在 javascript 中的对象中

  22. 22

    遍历对象数组,并将值替换为数组中的值

  23. 23

    检查从ajax响应获取的对象的javascript数组中是否存在值并将其删除

  24. 24

    查找除数并将其存储在数组中

  25. 25

    在数组中查找重复值并将其全部输出

  26. 26

    在数组中查找重复值并将其全部输出

  27. 27

    迭代 json 对象,同时将其键值与 javascript 中的模式匹配

  28. 28

    从对象数组中的数组中查找项目(水果)列表并计算其数量并将其作为对象推入另一个数组

  29. 29

    使用 nodejs 在对象数组中查找特定键值

热门标签

归档