Вы можете использовать «класс» каждой опции, чтобы держать какой-то индикатор того, какое изображение показывать. Если вы пишете в HTML5, как все красивые люди в наше время, вы можете использовать атрибут «data»:
<option value='1' data-whichPicture='http://whatever.com/picture_017.jpg'>1</option>
На самом деле вы можете прикрепить любой атрибут к тегам, который хотите, но он оставит страницу в недопустимом состоянии. Атрибуты HTML5 еще не проверены (я не думаю, что валидатор HTML5, который я в последний раз пробовал, был довольно хитрым), но W3C обещает, что когда-нибудь они будут.
изменить & mdash; также - в вашем вопросе упоминается, что вы хотите сменить картинку, когда кто-то «нажимает» на <select>
. Фактически вы можете получать события «щелчка» от каждого <option>
, но вам, вероятно, следует также следить за событиями «изменения». Пользователи могут перейти на ваш <select>
и использовать клавиши со стрелками вверх и вниз для изменения выбора. Вы не получите событие «изменение», пока пользователь не уйдет из <select>
или не щелкнет где-то еще. (Может быть возможно получить события нажатия клавиш; я не пробовал это, но я мог бы просто ...)
изменить & mdash; Чтобы получить атрибуты (если вы используете трюк "data-"), вы должны использовать метод "getAttribute" для элементов:
var whichPicture = sel.options[sel.selectedIndex].getAttribute('data-whichPicture');