dijit.form.Select onChange()在页面加载时运行

时间:2012-07-20 14:17:14

标签: select dojo onchange

我是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>

1 个答案:

答案 0 :(得分:1)

修复代码,使onChange不是函数call,而是函数指针/引用

你有这个'问题':

  1. <div id="supportCentersListBox" data-dojo-type="dijit.form.Select"> DOM呈现(data-dojo-type仅适用于parseOnLoad(dojo.parser),不需要它,因为你自己创建它
  2. 您实例化商店
  3. 在supportCentersListBox中实例化一个Select并渲染 - 设置为store,提取url
  4. 抓取完成,Select填写
  5. 将具有属性selected:true或索引中的第一个的项目设置为值
  6. onChange开火