select 或text的onchange事件需要手动(通过键盘输入)改变select或text的值才能触发,如果在js中给select或text赋值,则无法触发onchang事件,
例如,在页面加载完成以后,需要触发一个onChange事件,在js中用document.getElementById("se").value="ttt";直接给select或text赋值是不行的,要想实现手动触发onchange事件,需要在js给select赋值后,加入下面的语句,(假设select的id为sel)
document.getElementById("sel").fireEvent('onchange') 来实现,
例子:
     <html><body>
    
    <select id="sel" name="test" onchange="demo()">
      <option value="1" selected>测试一</option>
  <option value="2">测试二</option>
  <option value="3">测试三</option>
  <option value="4">测试四</option>
   </select>
 <input id="tex" type="text" name="text1"  id="text1">
   
  <script>
  
  document.getElementById("sel").value="3";
  document.getElementById("sel").fireEvent("onchange");
  function demo()
  {
   var d=document.getElementById("sel").value;
   document.getElementById("tex").value=d;
   //alert(d);
  
  }
  </script>
    </body></html>
上面的代码产生的效果就相当于鼠标在select元素上进行了选择,模仿出了select的onchange效果