Javascript Titanium,Looped标签仅显示数组中的最后一个数据

时间:2014-05-19 07:07:56

标签: javascript arrays for-loop titanium

我做了一个循环&在var标签中使用它。这个想法是它将显示数据数组中的每一行。不幸的是,它只显示最后一行。请帮帮我:/

这是我的代码:

for (var i=0; i<data.length; i++) {
item = data[i];



var togetherh = Titanium.UI.createLabel({

text : data[i].instelling_title,
font : {
    fontSize : 24,
    fontFamily : 'Helvetica Neue',
    fontWeight : 'bold'
},
color : 'black',
top : '10',
width : '100%',
textAlign : 'center',
height : 'auto',
left : 'auto',
touchEnabled : false

});

var together = Titanium.UI.createLabel({

text : data[i].instelling_id + '  ' + data[i].instelling_desc,
font : {
    fontSize : 12,
    fontFamily : 'Helvetica Neue'
},
color : 'black',
top : '50',
width : '85%',
textAlign : 'left',
height : 'auto',
left : 18,
touchEnabled : false

});
}

这是我的数据阵列:

var data = [
 {item: 'SCALDA 1', instelling_title: 'Scalda', instelling_desc: ''},
 {item: '14', instelling_title: 'Scalda', instelling_desc: ''},
 {item: '15', instelling_title: 'Scalda', instelling_desc: ''},
 {instelling_id: '16', instelling_title: 'Scalda', instelling_desc: ''},
 {instelling_id: '17', instelling_title: 'Scalda', instelling_desc: ''},
 {instelling_id: '18', instelling_title: 'Scalda', instelling_desc: ''},
 {instelling_id: '19', instelling_title: 'Scalda', instelling_desc: ''},
 {instelling_id: 'ROC22', instelling_title: 'ROC', instelling_desc: ''},
 {instelling_id: '21', instelling_title: 'Scalda', instelling_desc: ''},
 {instelling_id: '22', instelling_title: 'Scalda', instelling_desc: ''},
 {instelling_id: '13', instelling_title: 'Scalda', instelling_desc: ''},
 {instelling_id: '12', instelling_title: 'Scalda', instelling_desc: ''},
 {instelling_id: '3', instelling_title: 'Scalda', instelling_desc: ''},
 {instelling_id: '4', instelling_title: 'Scalda', instelling_desc: ''},
 {instelling_id: '5', instelling_title: 'Scalda', instelling_desc: ''},
 {instelling_id: '6', instelling_title: 'Scalda', instelling_desc: ''},
 {instelling_id: '799', instelling_title: 'ROC', instelling_desc: ''},
 {instelling_id: '8', instelling_title: 'Scalda', instelling_desc: ''},
 {instelling_id: '9', instelling_title: 'Scalda', instelling_desc: ''},
 {instelling_id: '10', instelling_title: 'Scalda', instelling_desc: ''},
 {instelling_id: '11', instelling_title: 'Scalda', instelling_desc: ''},
 {instelling_id: '23', instelling_title: 'Scalda', instelling_desc: ''}
];

任何人都可以帮我吗? 在此先感谢!!

1 个答案:

答案 0 :(得分:1)

尝试这样:

var lblArr = [];

for(var i=0;i<5;i++){
    lblArr[i] = Ti.UI.createLabel({
        text : i
    });
    Win.add(lblArr[i]);
}

您正在循环中创建具有相同名称的label,因此以前的所有标签都会被覆盖,只剩下最后一个标签,这就是为什么您只获得最后一个标签的原因。通过推送数组中的标签,所有标签都是分开的,您可以获得所有标签。

希望这会对你有所帮助。 :)