2012-03-16 43 views
0

这似乎是基本的,但似乎无法找到一种方法来实现这一点:我想从一个数组初始化一个选择框有没有办法从Qooxdoo中的数组中初始化SelectBox中的项目?

var array = ["item1","item2"...] 

,而不是通过listItems中有循环的

var selectBox = new qx.ui.form.SelectBox(); 
var test = ["item1", "item2"]; 
for (var i = 0; i < test.length; i++){ 
    var tempItem = new qx.ui.form.ListItem(test[i]); 
    selectBox.add(tempItem); 
} 

Qooxdoo有没有办法做到这一点?

回答

3

首先你的循环更优雅版:

var selectBox = new qx.ui.form.SelectBox(); 
test = ["item1", "item2"]; 

test.forEach(function(obj) { 
    selectBox.add(new qx.ui.form.ListItem(obj)); 
}, this); 

但是,你应该看一看的数据的Qooxdoo(Link to documentation)结合文档。当使用这个你有这样一个解决方案:

var selectBox = new qx.ui.form.SelectBox(); 
test = ["item1", "item2"]; 

new qx.data.controller.List(new qx.data.Array(test), selectBox); 

当控制器上工作你想换一个事件很容易结合其他部件等

+0

感谢那正是我一直在寻找的是一些更有趣的功能! – Jonathan 2012-03-26 19:42:01

相关问题