2012-08-11 279 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>