2012-08-11 245 views
1

嗨我正在使用连接来设置onChange事件,但它不会触发 - 没有错误正在生成,我对这个问题是什么都不知道。dijit.form.FilteringSelect onChange事件未触发

<select name='value(serviceRefId)' dojoType='dijit.form.FilteringSelect' id='serviceRefId'> 
<option value='0'></option> 
<option value='10109'>General Surgery</option> 
<option value='10108'>Internal Medicine</option> 
<option value='10111'>Laboratory</option> 
<option value='10113'>Other</option> 
<option value='10112'>Paediatrics</option> 
<option value='10110'>Radiology</option> 
</select> 
<script type="text/javascript"> 
     dojo.addOnLoad(function(){ 
      dojo.connect(dojo.byId("serviceRefId"), 'onChange', function(event){ 
       alert('ok ' + event); 
      }); 
     }); 
</script> 

回答

3

DOM元素没有onChange,它会触发。相反,有一个形式为dijit(小部件)的事件具有该名称 - 但您需要使用dijit.byId来获取该组件。

试试这个

<script type="text/javascript"> 
    dojo.addOnLoad(function(){ 
     // dojo.byId returns a DOMNode, not a dijit instance, replace dojo with dijit 
     dojo.connect(dijit.byId("serviceRefId"), 'onChange', function(event){ 
      alert('ok ' + event); 
     }); 
    }); 
</script>