dijit.form.FilteringSelect onChange事件未触发

时间:2012-08-11 18:26:50

标签: dojo

您好我正在使用连接来设置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>

1 个答案:

答案 0 :(得分:3)

DOM元素上没有onChange,它将触发。相反,dijit(widget)形式的事件具有该名称 - 但您需要使用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>