dojo.form.Select的onChange事件未触发

3

我目前正在使用dojo 1.7进行编程。我在dojo.forms.Select的onChange事件上卡住了。对我来说,它似乎从未被触发。我尝试在互联网上搜索,但运气不佳。可能出了什么问题?有任何建议或帮助将不胜感激。

用于将事件附加到dojo.form.Select的代码:

var findLayerListOnChangeEvent = dojo.connect(findLayerListSelect, "onChange", function(newValue) {
doFindLayerListChange();

});

dojo.form.Select的HTML代码

<select id="findLayerList" data-dojo-type="dijit.form.Select" data-dojo-props="required:true, sortByLabel:false" name="findLayerList" disabled="disabled" maxHeight=-1 style="width:150px;">
<option value="ID">Layer List</option>

1个回答

1

你的JS代码中的findLayerListSelect是什么意思?

在HTML代码中,用data-dojo-id替换id。

最好写一个jsfiddle并附上你的代码,我可以帮你修复它。


我已经在jsfiddle里尝试了你建议的方法,但仍然无效。我忘记告诉你dijit.form.Select是通过编程生成的。这真的有影响吗? - bevardgisuser
我使用dijit.byID('findLayerList').setStore(dataStore)来动态更改dijit.form.Select。 - bevardgisuser
Sandeep,我尝试使用jsFiddle编写代码。似乎它没有起作用。这是链接http://jsfiddle.net/xpmH2/9/. - bevardgisuser
有很多JS问题涉及setStore和push方法,但你需要做出的更改是:1)添加对dojo元素(如ItemFileReadStore)的require语句;2)在程序底部使用onchange而不是onChange。这是您jsfiddle的修复版本http://jsfiddle.net/xpmH2/11/。 - Piyush-Ask Any Difference
我发现这个最新的jsfiddle并没有像预期的那样工作;在我的浏览器上,搜索项目返回了null,并且onchange处理程序被注册到了所有下拉菜单。 - David Fraser
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接