没有触发 onchange 事件,请看下面的示例,在下拉框中选择时触发,但点按钮,用程序选择,就不触发。<html>
<body>
   <script>
    function f1()
    {
    alert('changed');
    }
    function f2()
    {
    if(Sel1.selectedIndex==1)Sel1.selectedIndex=0;
    else Sel1.selectedIndex=1;
    }
   </script>
   <select id=Sel1 onchange='f1()'>
   <Option value='a1'>aaa</Option>
   <Option selected value='b1'>bbb</Option>
   </Select>
   <input type=button onclick='f2()' value='test'>
</body>
</html>

解决方案 »

  1.   

    往里面添加内容,也没有触发 onchange 事件,我哪里错了?
    <html>
    <body>
       <script>
        function f1()
        {
        alert('changed');
        }
        function f2()
        {
    var oOption = document.createElement("OPTION");
    Sel1.options.add(oOption);
    oOption.innerText = "Two";
    oOption.value = "2";
       
    //    if(Sel1.selectedIndex==1)Sel1.selectedIndex=0;
    //    else Sel1.selectedIndex=1;
        }
       </script>
       <select id=Sel1 onchange='f1()'>
       <Option value='a1'>aaa</Option>
       <Option selected value='b1'>bbb</Option>
       </Select>
       <input type=button onclick='f2()' value='test'>
    </body>
    </html>
      

  2.   

    <select id=Sel1 onpropertychange='f1()'>
      

  3.   

    onpropertychange 在 SelectedIndex 变化后会触发,但添加内容不会触发。
      

  4.   

    你可以判断改变时的属性名,添加选项时不会触发    function f1()
        {
        switch(event.propertyName)
    {
    default:
    alert(event.propertyName);
    }
        }
      

  5.   

    谢谢 ttyp(@http://www.cnblogs.com/ttyp/) ,问题是没有触发到 f1() 这个函数呀。就像第二个源代码那样,添加了 option ,没有触发事件。
      

  6.   

    如下代码,设置了 onpropertychange ,但没有作用。
    <html>
    <body>
       <script>
        function f1()
        {
        alert('changed');
        }
        function f2()
        {
    var oOption = document.createElement("OPTION");
    Sel1.options.add(oOption);
    oOption.innerText = "Two";
    oOption.value = "2";
       
    //    if(Sel1.selectedIndex==1)Sel1.selectedIndex=0;
    //    else Sel1.selectedIndex=1;
        }
       </script>
       <select id=Sel1 onpropertychange='f1()'>
       <Option value='a1'>aaa</Option>
       <Option selected value='b1'>bbb</Option>
       </Select>
       <input type=button onclick='f2()' value='test'>
    </body>
    </html>