Qooxdoo表单元素和getSelection()

Ear*_*ind 3 qooxdoo

这是我的代码:

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("??????") );
Run Code Online (Sandbox Code Playgroud)

如何使用setSelection()选择"Deutsch",如果项目是数值,该怎么办?我还可以为这些标签设置值,还是SelectBox()仅限于标签?

例如:

value: en, label: English
value: de, label: Deutsch
etc.
Run Code Online (Sandbox Code Playgroud)

小智 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());
  });
Run Code Online (Sandbox Code Playgroud)