javascript - 在 IE 中使用 javascript 以编程方式触发组合框的 onchange 不起作用

标签 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();
}

当函数 fun 被调用时,应该触发 combo1 的 onchange,这在 FF 中工作正常但在 IE6、7、8 中不是。 很有趣,我正在从另一种方法调用。

请帮忙... 谢谢

最佳答案

<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>

喂!

关于javascript - 在 IE 中使用 javascript 以编程方式触发组合框的 onchange 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7647901/

相关文章:

javascript - 使用 JavaScript 本地化 HTML 页面

python - Odoo v10 @onchange(stage_id) 不适用于 <field name ="stage_id"widget ="statusbar"clickable ="True"/>

javascript - 无法将事件绑定(bind)到多个 <select>,只能绑定(bind)第一个子元素

javascript - KendoUI Treeview 根据值展开节点

javascript - Swiper Center Slide on click 事件

javascript - Firestore 查询,其中日期(时间戳)已超过 24 小时

javascript - 某些 CSS 元素(链接、样式)不会在悬停时打开或加载,直到我单击该页面

htmlspecialchars() 期望参数 1 是给定的字符串数组

javascript - 如何在emberjs render方法中传递参数?

javascript - 解决方法 : <Select>ing the first <option> never fires an onchange event