2010-02-24 38 views
3

這裏是我的代碼:形式的Qooxdoo元素和getSelection()

var sb = new qx.ui.form.SelectBox(); 

sb.add(new qx.ui.form.ListItem("English")); 
sb.add(new qx.ui.form.ListItem("Nederlands")); 
sb.add(new qx.ui.form.ListItem("Deutsch")); 
sb.add(new qx.ui.form.ListItem("français")); 
sb.add(new qx.ui.form.ListItem("Српски")); 

我如何使用爲setSelection()選擇「德語」,以及如果該項目是數值?我也可以爲這些標籤設置值還是僅限於標籤的SelectBox()?

例如:

value: en, label: English 
value: de, label: Deutsch 
etc. 

回答

6

看看下面的示例代碼。

您可以爲每個ListItem指定一個模型來存儲附加信息。例如,它可以充當表單項目的值屬性。見http://demo.qooxdoo.org/1.0.x/apiviewer/#qx.ui.form.ListItem

var selectBox = new qx.ui.form.SelectBox(); 

    selectBox.add(new qx.ui.form.ListItem("English", null, "en")); 
    selectBox.add(new qx.ui.form.ListItem("Nederlands", null, "nl")); 
    var defaultItem = new qx.ui.form.ListItem("Deutsch", null, "de"); 
    selectBox.add(defaultItem); 
    selectBox.add(new qx.ui.form.ListItem("français", null, "fr")); 
    selectBox.add(new qx.ui.form.ListItem("Српски", null, "ru")); 

    selectBox.setSelection([defaultItem]); 
    selectBox.addListener("changeSelection", function(e) { 

    //Read model data from listitem 
    this.debug("changeSelection: " + e.getData()[0].getModel()); 
    }); 
0

也許這個例子對您有用太:

var sb = new qx.ui.form.SelectBox(); 
var a = ["English", "Nederlands", "Deutsch", "Français", "Српски"]; 
var model = new qx.data.Array(a); 
var controller = new qx.data.controller.List(model, sb); 
controller.setSelection(model.slice(0,3)); 

在最後一行model.slice(0,3)返回三個元素模型的子陣:從「英語」到「德語」。並且該子數組中的最後一個元素將被默認「選中」。

有關詳細信息,請參見qooxdoo手冊中的「數據綁定」。