3

这是我的代码:

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() 选择“Deutsch”,如果项目是数值怎么办?我还可以为这些标签设置值还是 SelectBox() 仅限于标签?

例如:

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

2 回答 2

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());
  });
于 2010-02-25T00:09:54.093 回答
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) 返回包含三个元素的模型子数组:从“English”到“Deutsch”。默认情况下,该子数组中的最后一个元素将被“选中”。

有关详细信息,请参阅 qooxdoo 手册中的“数据绑定”。

于 2014-01-04T04:23:19.090 回答