1

嗨,我正在使用连接来设置 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>
4

1 回答 1

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>
于 2012-08-11T19:07:06.407 回答