Qooxdoo 表单元素和 getSelection()

发布于 2024-08-22 15:42:03 字数 495 浏览 11 评论 0原文

这是我的代码:

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.

Here's my code:

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("Српски") );

How do I use setSelection() to select "Deutsch", and what if the items are numeric values? Can I also set values for these labels or is SelectBox() limited to labels?

For example:

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

飘过的浮云 2024-08-29 15:42:03

看一下下面的示例代码。

您可以为每个 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());
  });

Take a look at the example code below.

You can specify a model with each ListItem for storing additional information. It can act as value property on form items for example. See 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());
  });
-柠檬树下少年和吉他 2024-08-29 15:42:03

也许这个例子对您也有用:

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手册中的“数据绑定”。

Maybe this example will be useful for you too:

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));

At last line model.slice(0,3) returns subarray of model with three elements: from "English" to "Deutsch". And last element in this subarray will be "selected" by default.

See "Data Binding" in qooxdoo's manual for details.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文