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" までの 3 つの要素を持つモデルの部分配列を返します。このサブ配列の最後の要素は、デフォルトで「選択」されます。

詳細はqooxdooのマニュアルの「データバインディング」を参照してください。

于 2014-01-04T04:23:19.090 に答える