我在jQuery中有一个ajax函数,它返回一个JSON对象列表。从数据中,我想填充一个时间轴,其定义如下:
时间轴
$('#timeline-container-basic').timelineMe({
items: [
{
type: 'smallItem',
label: 'Name',
shortContent: 'Address',
forcePosition: 'right'
},
{
type: 'smallItem',
label: 'Name2',
shortContent: 'Address2',
forcePosition: 'right'
}
]
});
Ajax功能:
$.ajax({
url: 'GetCustomers',
type: 'GET',
dataType: 'json',
success: function (data) {
for (var i = 0; i < data.length; i++) {
console.log(data[i].Name);
}
我想要实现的是我希望从ajax数据中填充items
对象。有人可以建议我如何实现这一目标?
答案 0 :(得分:1)
根据我的理解,你的json会是。
$.ajax({
url: 'GetCustomers',
type: 'GET',
dataType: 'json',
success: function (data) {
var AssignArray=[];
for (var i = 0; i < data.length; i++) {
var obj= {
type: data[i].smallItem,
label: data[i].Name,
shortContent: data[i].Address,
forcePosition: data[i].right
}
AssignArray.push(obj);
}
$('#timeline-container-basic').timelineMe({ items:AssignArray});
}
});
答案 1 :(得分:1)
像这样使用。
timelinejson = []
$.ajax({
url: 'GetCustomers',
type: 'GET',
dataType: 'json',
success: function (data) {
$.each(data,function(){
timelinejson.push({
type: this.smallItem,
label: this.Name,
shortContent: this.Address,
forcePosition: this.right
});
});
}
});