【发布时间】:2012-10-18 16:02:28
【问题描述】:
我在 HTML 中有一个选择
<select id="league" name="league">
我正在监听我的 javascript 中的变化。
var league = dojo.byId("league");
dojo.connect(league, "onchange", function (evt) { //do stuff }
效果很好。 但是我有一个链接,我可以点击它来更新选择:
<a href=javascript:void(0) onclick="updateSelection(league);"> League </a>
该链接在使用以下函数更新选择的选定值时起作用。
function updateSelection(NewLeague){
dojo.byId('league').value = NewLeague; // works
dojo.byId('league').onChange; //this isnt working
//dojo.byId('league').onChange(); //this throws: TypeError: dojo.byId("league").onChange is not a function
}
我的问题是,我已经阅读了其他堆栈帖子,以编程方式更新值不会触发 onChange,因此我需要在代码中调用 onchange(如上所示)。根据内联的 cmets,不会触发 onChange 或引发错误。我的第一个想法是它与监听 onChange 的 dojo.Connect 有关,但我没有找到任何信息表明我不能这样做,也没有任何解释如何绕过它。
有什么想法吗?
【问题讨论】:
-
dojo.byId('league').onChange();这行得通吗?
-
@RickCalder 不,它会抛出“不是函数”错误
-
不相关:尝试设置
<button>的样式,而不是使用旧的<a href="javascript:void(0)">hack。
标签: javascript html dojo