0

ラベル値のペアを持つ JavaScript データ オブジェクトを使用してオプションを入力する Dojo フォーム選択入力ボックスがあります (以下のようなオブジェクトを作成するコード例)。

for loop {
  varStateValuePairs.push({
    label: <State ID>, 
    value: <State Name>
  });
}
dijit.byId("StateDDL").addOption(varStateValuePairs);

ここで、この Dojo Form Select 内で特定の State をプログラムによって選択したいと考えています。私は次のことを試しました:

dijit.byId("StateDDL").attr("value", String(5)); // 5 is the example value corresponding to the label-value pair I want to select
dijit.byId("StateDDL").attr("value", 5);
dojo.byId("StateDDL").value = 5;
dijit.byId("StateDDL").set("displayedValue", "Texas");

上記のいずれも機能しません。どこが間違っていますか?私はかなり多くのことを検索しましたが、他の投稿にリストされている解決策はどれもうまくいきません。Dojo 1.8 を実行しています。

4

1 に答える 1

2

を使用しSelect.setValue()ます。

http://jsfiddle.net/fiddlegrimbo/qauHX/2/

value0がデフォルトで選択されるため、value2手動で選択します。

var varStateValuePairs = [];
for (var i = 0; i < 10; i++) {
  varStateValuePairs.push({
    label: "state"+i, 
    value: "value"+i
  });
}

require(["dojo/parser", "dijit/registry", "dijit/form/Select", "dojo/domReady!"], function (parser, registry) {
    parser.parse().then(function () {
        var widget = registry.byId("StateDDL");
        widget.addOption(varStateValuePairs);
        widget.setValue("value2");
    });
});
于 2013-04-25T06:52:03.217 に答える