KHi*_*bma 6 html javascript dojo
我有一个内部选择HTML
<select id="league" name="league">
Run Code Online (Sandbox Code Playgroud)
我正在听我的javascript里面的变化.
var league = dojo.byId("league");
dojo.connect(league, "onchange", function (evt) { //do stuff }
Run Code Online (Sandbox Code Playgroud)
哪个工作正常.但是,我有一个链接,我可以点击更新选择:
<a href=javascript:void(0) onclick="updateSelection(league);"> League </a>
Run Code Online (Sandbox Code Playgroud)
链接工作,因为它使用以下函数更新选择的选定值.
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
}
Run Code Online (Sandbox Code Playgroud)
我的问题,正如我通过其他堆栈帖子阅读的那样,以编程方式更新值不会触发onChange,因此我需要在代码中调用onchange(如上所示).根据内联注释,onChange未被触发或抛出错误.我首先想到的是它与侦听onChange的dojo.Connect有关,但我没有发现任何信息说我不能这样做,也没有任何解释如何解决它.
有任何想法吗?
Bob*_*ies 11
选择onchange不会因为编程变化而触发,你需要自己解决它 league.onchange();
正如@Greg所说,调用应该是小写的.
另外,我不知道dojo是否有触发器方法,但在jQuery中,这将完成jQuery('#league').trigger('change').
根据您的道场版本,您可能还需要查看:http://dojotoolkit.org/reference-guide/1.8/dojo/connect.html
| 归档时间: |
|
| 查看次数: |
21133 次 |
| 最近记录: |