2012-03-16 69 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

相關問題