Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Связь массива картинок и select (https://javascript.ru/forum/jquery/8884-svyaz-massiva-kartinok-i-select.html)

alesto 19.04.2010 01:32

Связь массива картинок и select
 
Доброго времени суток. Есть div заполненный картинками и select . Нужно чтобы при выборе n-го элемента option отрабатывался клик по n-ой картинке и чтобы по клику по соответствующей картинке выбирался соответствующий пункт Select.
я новичёк в jquery и без понятия как подойти к решению этой проблемы.

micscr 19.04.2010 08:27

Что картинки в div что пункты в select можно идентифицировать среди подобных с помощью:
$('...').index(элемент);

Осталось только обработчики настроить для селекта и картинок.

alesto 19.04.2010 12:19

Спасибо Огромное!
С картинками в диве разобратся можно и как их отловить по клику не проблема. Как отловить индекс изменённого селекта? Как сделать так чтобы поменялось значение селекта?

SkyLight 22.04.2010 02:02

Выбранное в селекте значение можете ловить из select.options[select.selectedIndex].value в чистом JS или через val() в jQuery.

alesto 22.04.2010 10:48

Ну я получу value. А как узнать какая по счёт опция была выбрана? можно конечно value запихнуть в массив , но это , как по мне не красивое решение.

micscr 22.04.2010 11:38

alesto, свою голову еще никто не отменял;) .
Что не видно подсказок выше - select.selectedIndex или то что я подсказывал ?
Если тебе нужен готовый код, то это в разделе работа.

SkyLight 22.04.2010 11:47

А если подумать?

<img id="img1" src="" alt="Картинка 1" onclick="s_img('img1')" width="150" height="40" />
<img id="img2" src="" alt="Картинка 2" onclick="s_img('img2')" width="150" height="40" />

<select id="select" onchange="s_select(this)">
	<option value="1">Картинка 1</option>
	<option value="2">Картинка 2</option>
</select>

<script type="text/javascript">
function s_img(id) {
	id = id.replace('img', '');
	alert('Картинка №' + id);
	document.getElementById('select').value = id;
}
function s_select(_) {
	s_img('img' + _.value);
}
</script>


Часовой пояс GMT +3, время: 16:38.