【发布时间】:2019-06-01 23:19:50
【问题描述】:
在 Laravel 应用程序上工作,从前端获取数据并填充 使用Javascript在前端动态。在前端,我划分为 2 个主要列(左列和右列)。左侧栏有一个链接,当将鼠标悬停在或单击右侧时会显示相应的政策。
问题是我发现很难迭代包含 Javascript 对象集合的策略数组并在表中动态显示它们。
当我使用下面的方法时,我在表体中得到 [object Object]
来自后端的 asm 变量
"agency_sales": [
{
"id": "111",
"policies": [
{
"name": "JOHN DOE 1",
"sum_covered": "555000",
"date": "2018-05-16 12:02:32"
},
{
"name": "JOHN DOE 2",
"sum_covered": "404000",
"date": "2018-02-20 17:33:25"
},
]
}
{
"id": "222",
"policies": [
{
"name": "JOHN DOE 1",
"sum_covered": "555000",
"date": "2018-05-16 12:02:32"
},
{
"name": "JOHN DOE 2",
"sum_covered": "404000",
"date": "2018-02-20 17:33:25"
},
]
}
]
左列包含带有动态 ID 的链接
<div class="col-md-4">
@foreach($asm as $a)
<a href="#demo{{$i}}" class="list-group-item list-group-item-primary dropdown-toggle" data-toggle="collapse" data-parent="#MainMenu" style="color: #868ba1;" id="{{ $a['id'] }}"> Agency Sales Managers ID : {{ $a['id'] }} </a>
@endforeach
</div>
右列包含我要动态填充的表格
<div class="col-md-8">
<table class="table table-hover mg-b-0 tx-11" id="summary-table">
<thead>
<tr>
<th>NAME</th>
<th>SUM</th>
<th>DATE</th>
</tr>
</thead>
<tbody>
<tr> <!-- Add policies dynamically via JS under respective thead columns--></tr>
</tbody>
</table>
</div>
JavaScript 代码
$( document ).ready(function() {
var asmData = {!! json_encode($asm) !!};
});
$(document).on("mouseenter", "a", function() {
//Make sure table is empty
$('#summary-table tbody tr').html('');
//Execute ASM
var asmPolicies = '';
//Fetch id of a tag in the DOM
var asmId = $(this).attr('id');
for(var i = 0; i < asmData.length; i++) {
if(asmId == asmData[i]['id']) {
for(var j = 0; j < asmData[i]['policies'].length; j++){
asmPolicies += '<tr><td>' + asmData[i]['policies'][j] + '</td></tr>';
}
}
}
//append asmPolicies Html to the table
$('#summary-table tbody tr').append(asmPolicies);
//END ASM
});
【问题讨论】:
-
我看到的问题 #1 将 trs 附加到一个或多个 trs
-
请点击edit,然后点击
[<>]sn-p 编辑器,因为您的问题是关于前端的,请删除对后端的所有引用并发布对象和jQuery 的minimal reproducible example只有 -
当你在 @Martin 的时候,你能不能也发布
asmData的样本数据? -
@jom asmData 在一个 Js 变量中,它保存了 asm PHP 变量的编码数据..
-
@mplungjan 已经使用后端代码来说明策略的 JSON 对象的数组集合,这些策略尝试单独迭代并在其各自的 thead 列下的表格中显示每个对象..
标签: javascript jquery laravel object for-loop