javascript - 如何在单个对象中并排表格行?
问题描述
当我在表中输入数据并保存时,我有并排的表,它返回第一个表的数据,如
[{"circuit_no_left":"1","rating_left":"3","description_left":"test1","circuit_no_right":"2","rating_right":"5","description_right":"test2"},{"circuit_no_left":"3","rating_left":"","description_left":"","circuit_no_right":"4","rating_right":"","description_right":""},{"circuit_no_left":"5","rating_left":"","description_left":"","circuit_no_right":"6","rating_right":"","description_right":""},{"circuit_no_left":"7","rating_left":"","description_left":"","circuit_no_right":"8","rating_right":"","description_right":""}]
我想要这样的输出
[{"circuit_no_left":"1","rating_left":"3","description_left":"test1"},{"circuit_no_right":"2","rating_right":"5","description_right":"test2"},{"circuit_no_left":"3","rating_left":"","description_left":""},{"circuit_no_right":"4","rating_right":"","description_right":""},{"circuit_no_left":"5","rating_left":"","description_left":""},{"circuit_no_right":"6","rating_right":"","description_right":""},{"circuit_no_left":"7","rating_left":"","description_left":""},{"circuit_no_right":"8","rating_right":"","description_right":""}]
我只想要一个对象中的一个表格行。我在一个不正确的对象中并排放置。一个对象的左侧列和另一个对象的右侧列。
html:
<div class="table-responsive">
<table id="table" class="table table-bordered custom_table">
<thead>
<tr>
<th style="width: 72px;">Circuit</th>
<th style="width: 72px;">Rating</th>
<th>Description</th>
<th style="width: 72px;">Circuit</th>
<th style="width: 72px;">Rating</th>
<th>Description</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
脚本:
var table = document.getElementById('table');
var jsonArr = [];
for (var i = 1, row; row = table.rows[i]; i++) {
var col = row.cells;
var jsonObj = {
circuit_no_left: col[0].innerHTML,
rating_left: col[1].innerHTML,
description_left: col[2].innerHTML,
circuit_no_right: col[3].innerHTML,
rating_right: col[4].innerHTML,
description_right: col[5].innerHTML,
}
jsonArr.push(jsonObj);
}
this.table_data = JSON.stringify(jsonArr);
console.log('tableData', this.table_data);
解决方案
如果您希望将左右条目分成单独的对象,只需在循环中创建两个对象并将它们分别推送到数组中。
var jsonArr = [];
for (var i = 1, row; row = table.rows[i]; i++) {
var col = row.cells;
var jsonObjLeft = {
circuit_no_left: col[0].innerHTML,
rating_left: col[1].innerHTML,
description_left: col[2].innerHTML
};
var jsonObjRight = {
circuit_no_right: col[3].innerHTML,
rating_right: col[4].innerHTML,
description_right: col[5].innerHTML
};
jsonArr.push(jsonObjLeft);
jsonArr.push(jsonObjRight);
}
this.table_data = JSON.stringify(jsonArr);
console.log('tableData', this.table_data);
推荐阅读
- java - 无法在实体删除时捕获 ConstraintViolationException
- javascript - 如何使用 websocket 将 javascript 页面连接到 php 页面?
- c++ - 在cpp文件中定义一个类变量成员
- php - 在 Reactjs 应用程序中选中时使用复选框进行过滤
- html - 除非在页面顶部,否则导航链接将不起作用
- testing - 客户端事件自动测试的正确方法
- kubernetes-ingress - AKS 天蓝色/应用程序网关运行状况注释不会更新应用程序网关中的运行状况探测
- excel - 如何从多个表中检查和计算 excal 中的值
- javascript - 在 Reactjs 中检查整个组件中的用户不活动状态
- visual-studio-code - 设置优先级(用户、工作区、文件夹)