среда, 15 декабря 2010 г.

Программный вызов обработчика события onChange у элемента SELECT

Ни как не получалось выполнить программно событие у элемента. Все описанные действия в Интернете не рабочие. Пробовал вызвать событие onClick, как советовали, все безрезультатно.
Решение оказалось очень простым. Событие onChange вызывается, когда элемент теряет фокус. Для программного вызова события, нужно установить фокус на элемент, изменить значение и перевести фокус на другой элемент.
Пример на jQuery:
Форма:
<form>
    <select id="sel" name="sel" onchange="change()">
        <option value="">Any</option>
        <option value="1">Item1</option>
        <option value="2">Item2</option>
    </select>
    <input type="text" value="" name="txt" id="txt">
</form>  

Скрипт:
<script>
function change(){
    alert("Selected item"+$("#sel").val()); 
}
$("#sel").focus();
$("#sel").children("option[value='1']").attr("selected","selected");
$("#txt").focus();
</script>

Комментариев нет :

Отправить комментарий