I have an array which is in following format
{
"items": {
"0": 96,
"1": 121566,
"3": "2014-10-30"
},
"name": [
"asdfghj"
],
"misc": [
{
"VehicleBrandName": "FORD",
"VehicleTypeName": "111111"
},
{
"VehicleBrandName": "BMW",
"VehicleTypeName": "75676576"
},
{
"VehicleBrandName": "FORD",
"VehicleTypeName": "2222"
}
]
}
here items,name,misc are values from different table. Items passed as an object and name and misc are arrays.
In jquery function
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');
});
And HTML code is
<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>
items are working fine. But misc is getting only single value.Other two values are not getting. I expecting the following output.
FORD BMW FORD
111111 75676576 2222
Please help me......
instead of
part = $('.check').find('*[table-field="' + name + '"]');
try
part = $('.active').find('*[table-field="' + name + '"]');
because you have class=active
for table-field
.
you can try something like this:
<script>
$(document).ready(function(){
var json=JSON.parse('{"items":{"0":96,"1":121566,"3":"2014-10-30"},"name":["asdfghj"],"misc":[{"VehicleBrandName":"FORD","VehicleTypeName":"111111"},{"VehicleBrandName":"BMW","VehicleTypeName":"75676576"},{"VehicleBrandName":"FORD","VehicleTypeName":"2222"}]}');
var misc=json.misc;
console.log(json);
var string1="";
var string2="";
$(misc).each(function (key, value) {//not working
for (name in value) {
if (value.hasOwnProperty(name)) {
part = $('.active').find('*[table-field="' + name + '"]');
//
if(parseInt(value[name])%1== 0){
string1=string1+" "+value[name];
part.text(string1);
$('.active').append(part);
}else{
string2=string2+" "+value[name];
part.text(string2);
$('.active').append(part);
}
}
}
});
});
</script>
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加