OnChange
Событие change наступает в тот момент, когда изменяется значение выбранного индекса в объекте Select. С изменением этого индекса в полях выбора единственного варианта на данной странице мы сталкивались неоднократно (selectedIndex и options[]). Данное событие обрабатывается JavaScript-программой, которая указывается в атрибуте onChange контейнера SELECT. В этом контексте интересно посмотреть, что происходит, когда мы имеем дело с multiple контейнером SELECT:
<FORM> Набор канцелярских товаров: <SELECT onChange="form.elements[1].value=''; for(i=0;i<form.elements[0].length;i++) if(form.elements[0].options[i].selected==true) form.elements[1].value = form.elements[1].value+i;"multiple> <OPTION>Вариант 1 <OPTION>Вариант 2 <OPTION>Вариант 3 <OPTION>Вариант 4 <OPTION>Вариант 5 <OPTION>Вариант 6 <OPTION>Вариант 7 </SELECT> Выбраны позиции: <INPUT NAME=s1 SIZE=7 MAXLENGTH=7 onFocus="form.elements[1].blur();"> </FORM>
Обратите внимание на то, что событие change имеет место тогда, когда происходит выбор или отмена альтернативы. Исключение составляет только тот случай, когда варианты при выборе последовательно отмечаются. В этом случае событие происходит в тот момент, когда пользователь отпускает кнопку мыши, и все отмеченные альтернативы становятся выбранными.