【发布时间】:2018-07-26 07:55:00
【问题描述】:
所以我有一个来自我的数据库的数组。数组内部有一个对象。我有工作时间和员工 ID 以及网页上的员工列表。当我单击员工时,我想查看分配给该员工的小时数。
var makeup_hrs = api_resp.makeup_data[key];
for (var i = 0; i < makeup_hrs.length; i++) {
var obj = makeup_hrs[i];
console.log(obj);
for (var o in obj) {
var y = obj[o];
console.log("make up hours ", y, "id: ", emp_id)
var x = document.getElementById("makeUpHours").innerHTML = y;
console.log(x);
// $('#makeUpHours').html(y);
}
}
任何时候我打印 make up hours 和 emp_id - 它给了我那个员工的数量和他的小时价值。但是当我使用 innerHTML 时,它只显示最后几个小时的值,而不是特定员工的特定小时。
这样(控制台输出)我的数据库中目前只有 2 名员工:
make up hours 4 id: 2891
make up hours 7 id: 1978
这是我的 html(它在模态 - 引导程序内部)
<div class="form-group"> <label class="col-sm-3"> Hours </label>
<span id="makeUpHours"></span></div>
当我点击图标时 - 模态弹出。每个图标都分配给一个员工 ID
员工 id 来自一个数组,而小时数来自另一个数组。不知何故,当我将 2 个值一起控制台时,它们会将正确的 ID 号分配给正确的小时数。
【问题讨论】:
-
你能提供一个你正在使用的数据的模拟吗?
-
您能否提供一个精简版的 HTML。你说它只显示最后几个小时,这是有道理的,因为你的 for 循环将 y 值保存在同一个 HTML 元素中(
#makeUpHours)。 -
向我们提供格式正确的数据样本
-
听起来像是 Array.reduce() 的工作。但我们确实需要知道源数据的结构。
-
@Shilly 不是,问题在于 OP 只是为循环的每个索引覆盖相同 DOM 元素中的数据
标签: javascript arrays loops