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

dijit.form.Select onChange()在页面加载时运行,select,dojo,onchange,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新手,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>

require(“dojo.data.ItemFileReadStore”);
require(“dijit.form.Select”);
函数populateSupportCenter(){
var supportCenters=new dijit.form.Select({
最大高度:“300”,
id:“支持中心”,
onChange:changeTest(),
store:new dojo.data.ItemFileReadStore({url:“此处的某个url地址”})
}“supportCentersListBox”);
}
函数changeTest(){
警报(“变更”);
}
普及支持中心();

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

你有这个‘问题’:

  • DOM呈现(数据dojo类型仅用于parseOnLoad(dojo.parser))不需要它,因为您自己创建它
  • 您可以实例化一个商店
  • 您可以在supportCentersListBox中实例化一个选择并呈现,它使用
    store
    set获取
    url
  • 提取完成,并填写
    Select
  • 已选择属性
    的项目:true
    或索引中的第一个设置为值
  • onChange
    fires

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

    你有这个‘问题’:

  • DOM呈现(数据dojo类型仅用于parseOnLoad(dojo.parser))不需要它,因为您自己创建它
  • 您可以实例化一个商店
  • 您可以在supportCentersListBox中实例化一个选择并呈现,它使用
    store
    set获取
    url
  • 提取完成,并填写
    Select
  • 已选择属性
    的项目:true
    或索引中的第一个设置为值
  • onChange
    fires

  • 更改为什么值?将向
    onChange
    事件传递更改为的值。我怀疑当最终加载存储时,select的值将从null更改为存储中的第一项或类似的内容。Buffalo,感谢您的回复…我最终想做的是当用户选择在选择框中输入一个新值,将该值传递给另一个函数并对其进行处理,在本例中,将其传递给changeTest()。我不知道怎么做。它被更改为什么值?将向
    onChange
    事件传递更改为的值。我怀疑当存储区最终加载时,select的值会从null更改为存储区中的第一项或类似的内容。Buffalo Bubbalo,感谢您的回复…我最终看到了什么nt要做的是,当用户在选择框中选择一个新值时,将该值传递给另一个函数并对其进行处理,在本例中,将其传递给changeTest()。我不知道该怎么做。谢谢你的回复,这些信息非常有用。我还发现本教程也很有用。谢谢你的回复,这些信息非常有用。我还发现本教程也很有用。