Fire Onchange для поля со списком программно с использованием JavaScript в IE не работает - PullRequest
1 голос
/ 04 октября 2011

Я хочу динамически вызывать функцию 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, должна быть запущена onchange combo1, которая отлично работает в FF, но не в IE6,7,8. весело я звоню из другого метода.

Пожалуйста, помогите ... Спасибо

1 Ответ

3 голосов
/ 04 октября 2011
<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>

НТН!

...