【发布时间】:2019-08-17 17:26:11
【问题描述】:
我在为表提供行跨度并根据父行对其进行分组时遇到问题。我已经尝试找到一些解决方案,但大多数解决方案是合并相同的值而不是将它们分组。
var data =
[
{
"LEVEL_1": "LEVEL 1",
"LEVEL_2": "LEVEL 1.1",
"LEVEL_3": "LEVEL 1.1.1",
},
{
"LEVEL_1": "LEVEL 1",
"LEVEL_2": "LEVEL 1.2",
"LEVEL_3": "LEVEL 1.2.1",
},
{
"LEVEL_1": "LEVEL 1",
"LEVEL_2": "LEVEL 1.2",
"LEVEL_3": "LEVEL 1.2.2",
},
{
"LEVEL_1": "LEVEL 2",
"LEVEL_2": "LEVEL 2.1",
"LEVEL_3": "LEVEL 2.1.1",
},
{
"LEVEL_1": "LEVEL 2",
"LEVEL_2": "LEVEL 2.1",
"LEVEL_3": "LEVEL 2.1.2",
},
{
"LEVEL_1": "LEVEL 2",
"LEVEL_2": "LEVEL 2.2",
"LEVEL_3": "LEVEL 2.2.1",
},
{
"LEVEL_1": "LEVEL 2",
"LEVEL_2": "LEVEL 2.2",
"LEVEL_3": "LEVEL 2.2.2",
}
];
var tableStr = '';
$.each(data, function(index, value) {
tableStr += '<tr>' +
'<td>'+value.LEVEL_1+'</td>'+
'<td>'+value.LEVEL_2+'</td>'+
'<td>'+value.LEVEL_3+'</td>'+
'</tr>';
});
$('#user tbody').html(tableStr);
table {
border-collapse: collapse;
}
td {
padding: 20px;
border: 1px solid black;
text-align: center;
}
th {
padding: 20px;
border: 1px solid black;
text-align: center;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table id="user">
<thead>
<tr>
<th>LEVEL 1</th>
<th>LEVEL 2</th>
<th>LEVEL 3</th>
</tr>
<tr>
</tr>
</thead>
<tbody>
</tbody>
</table>
我总是找到一个结果,它在一开始就奏效了。但是当我添加另一个级别但相同的数据时,它总是看起来像这样
从 Ajax 请求提供的 JSON 数据已经这样给出了。我必须修改 JSON 数据并将它们分组吗?或者它可以使用给定的 JSON 数据来完成?如何使用 Jquery 和 JSON 数据来做到这一点?提前致谢
【问题讨论】:
-
我已经检查了页面。但是页面上的答案只是普通的 HTML 。我需要使用 jquery @AZ_ 给出行跨度
标签: javascript jquery html json