Показать сообщение отдельно
  #1 (permalink)  
Старый 16.09.2011, 12:43
Новичок на форуме
Отправить личное сообщение для Metelitca Посмотреть профиль Найти все сообщения от Metelitca
 
Регистрация: 26.07.2011
Сообщений: 5

Динамический onchange с параметром.
Здравствуйте!

Помогите реализовать. Есть скрипт на странице:

Код:
<script type="text/javascript">
        var idx = 1;
        function createControlString() {

            var newDiv = document.createElement("div");
            
            var newControl = document.createElement("select");
            newControl.setAttribute("id", idx + "_machine");
            newControl.style.width = "65px";
            newControl.style.marginRight = "5px";
            newControl.options.lenght = 7;
            newControl.options[0] = new Option("Pr110", "110");
            newControl.options[1] = new Option("Pr120", "120");
            newControl.options[2] = new Option("Lm210", "210");
            newControl.options[3] = new Option("Sl310", "310");
            newControl.options[4] = new Option("Sl320", "320");
            newControl.options[5] = new Option("Sl330", "330");
            newControl.options[6] = new Option("Sl340", "340");
            newDiv.appendChild(newControl);

            document.getElementById('divWorkArea').appendChild(newDiv);
            document.getElementById(idx + '_machine').onchange = operation;
            idx += 1;
        }

        function operation(element) {
            alert(element.id);
        }
    </script>
Суть скрипта: на форму, по нажатию кнопки, добавляются комбобоксы. К комбобоксу привязано событие onchange, по срабатыванию которого должен отрабатываться скрипт по заполнению другого комбобокса. Проблема в следующем. В функцию с алертом (тестовая) мне нужно передать или контрол, который сгенерировал событие, или (что предпочтительнее) selectedIndex. Но не получается передать параметр. Т.е. если сделать просто функцию с алертом, то все отлично, все отрабатывается. Но как только пытаюсь сделать что-нить вроде document.getElementById(idx + '_machine').onchange = operation(this.selectedIndex); то вся работа скрипта прекращается.

Подскажите, что я делаю не так.
Ответить с цитированием