使用IE中的javascript以编程方式触发组合框的更改无法正常工作

时间:2011-10-04 12:31:10

标签: javascript html onchange

我想在用户更改另一个组合框的值时动态调用onchange函数。 我的代码如下:

HTML

<select name="vbitratecontrol0" id="combo1" onchange="set()">;
      <option value="0">None</option>
      <option value="1">A</option>
      <option value="2">B</option>
  </select>

的Javascript

function fun(){
      document.getElementById(combo1).onChange();
}

当调用function fun时,应该触发combo1的更改,这在FF中工作正常但在IE6,7,8中没有。 我用其他方法打电话。

请帮忙...... 感谢

1 个答案:

答案 0 :(得分:3)

<select name="vbitratecontrol0" id="combo1" onchange="set()">;
      <option value="0">None</option>
      <option value="1">A</option>
      <option value="2">B</option>
  </select>

<script>

function fireEvent(element,event){
    if (document.createEventObject){
    // dispatch for IE
    var evt = document.createEventObject();
    return element.fireEvent('on'+event,evt)
    }
    else{
    // dispatch for firefox + others
    var evt = document.createEvent("Events");
    evt.initEvent(event, true, true ); // event type,bubbling,cancelable
    return !element.dispatchEvent(evt);
    }
}
function set(){alert("asd");}

function fun(){
      fireEvent(document.getElementById("combo1"), "change");;
}

fun();
</script>

HTH!