我有一个简单的观点:
<Alloy>
<Window id="window1">
<Picker id="picker1" top="0">
<View id="view1" top="40" />
</Window>
</Alloy>
在控制器中我将pickerRows添加到picker1。我可以使用
显示该选择器1的选定值Ti.API.info($.picker1.getSelectedRow(0).title);
我还在视图中添加(可变数量)选择器:
var data = [];
data[1]=Ti.UI.createPickerRow({title:'1'});
data[2]=Ti.UI.createPickerRow({title:'2'});
data[3]=Ti.UI.createPickerRow({title:'3'});
data[4]=Ti.UI.createPickerRow({title:'4'});
nTop = 80
for (i = 1; i < nNoOfPickers; i++) {
picker = Ti.UI.createPicker({top: nTop+10 });
i++;
picker.add(data);
$.view1.add(picker);
nTop = nTop + 40;
};
我现在的问题是:如何从其中一个生成的选择器中获取所选值?
答案 0 :(得分:0)
在每个选择器上使用 更改 事件侦听器,以获取所选行的值,如下所示:
for (i = 1; i < nNoOfPickers; i++) {
picker = Ti.UI.createPicker({top: nTop+10 });
picker.addEventListener('change', function (e) {
Ti.API.info(e.source.getSelectedRow());
});
i++;
picker.add(data);
$.view1.add(picker);
nTop = nTop + 40;
};
但是,您的代码中有许多内容需要改进,但我只为您提供了您正在寻找的答案。希望它有所帮助!