1

Dojoを初めて使用し、onChange()イベントに問題があります。このイベントは、[選択]ボックスの値が変更されたときではなく、ページが読み込まれたときに実行されます。これが私のコードです。すべてページの本文セクションセクションにあります。ご協力いただきありがとうございます。

<div id="supportCentersListBox" data-dojo-type="dijit.form.Select"></div>

<script type="text/javascript">
    dojo.require("dojo.data.ItemFileReadStore");
    dojo.require("dijit.form.Select");      

    function populateSupportCenters() {
        var supportCenters = new dijit.form.Select({
        maxHeight:"300",
            id: "supportCenters",
            onChange: changeTest(),
            store: new dojo.data.ItemFileReadStore( { url: "some url address here" })
        }, 'supportCentersListBox');
    }

    function changeTest() {
        alert("Changed");
    }

    populateSupportCenters();
</script>
4

1 に答える 1

1

callonChangeが関数ではなく、関数ポインター/参照になるようにコードを修正します

この「問題」があります:

  1. <div id="supportCentersListBox" data-dojo-type="dijit.form.Select">DOMレンダリング(data-dojo-typeはparseOnLoad(dojo.parser)専用です。自分で作成するため、必要ありません。
  2. ストアをインスタンス化します
  3. 選択をインスタンス化し、supportCentersListBoxでレンダリングします-setを使用してstoreurl
  4. フェッチが完了し、Select入力されます
  5. 属性を持つアイテムselected:trueまたはインデックスの最初のアイテムが値として設定されます
  6. onChange火事
于 2012-07-21T14:04:47.417 に答える