【发布时间】:2014-11-18 08:51:28
【问题描述】:
我有一个格式如下的数组
{
"items": {
"0": 96,
"1": 121566,
"3": "2014-10-30"
},
"name": [
"asdfghj"
],
"misc": [
{
"VehicleBrandName": "FORD",
"VehicleTypeName": "111111"
},
{
"VehicleBrandName": "BMW",
"VehicleTypeName": "75676576"
},
{
"VehicleBrandName": "FORD",
"VehicleTypeName": "2222"
}
]
}
这里的 items,name,misc 是来自不同表的值。作为对象传递的项目和名称和其他都是数组。
在jquery函数中
var misc = data.misc;
var items = data.items;
var name = data.customer;
$.each(items, function (key, value) {// working function
part = $('.check').find('*[data-field="' + key + '"]');
part.val(value);
});
$(misc).each(function (key, value) {//not working
for (name in value) {
if (value.hasOwnProperty(name)) {
part = $('.check').find('*[table-field="' + name + '"]');
part.text(value[name]);
}
}
$('tr.active').clone().appendTo('tbody');
});
而HTML代码是
<table class="table table-condensed table-striped check" id="TableAppend">
<tbody class="items">
<tr class="active">
<td style="font-size: 12px;" width="70"><p table-field="VehicleBrandName"></p></td>
<td style="font-size: 12px;" width="70"><p table-field="VehicleTypeName"></p></td>
</tr>
</tbody>
</table>
项目工作正常。但是 misc 只得到一个值。其他两个值没有得到。 我期待以下输出。
FORD BMW FORD
111111 75676576 2222
请帮帮我……
【问题讨论】:
-
可以分享html示例吗
-
我不认为 "$(misc).each(function (key, value)" 是问题所在,你需要使用
.find('*[table-field="' + key + '"]'什么的。 -
“没有获得任何价值”是什么意思? Your loop works correctly 基于提供的代码 - 我可以
console.log$(misc).each循环内的变量... -
什么不工作?我试图循环你的代码工作的数据
-
您到底想得到什么?在您的代码中,您只是覆盖了 html,并因此得到“FORD 2222”。 jsfiddle.net/4u1wtgm0
标签: javascript php jquery arrays multidimensional-array