Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   переключение слоев изображения select (https://javascript.ru/forum/dom-window/61136-pereklyuchenie-sloev-izobrazheniya-select.html)

AlphaKeloid 10.02.2016 20:29

рони,
понял в чем дело, когда убрал у всех тэгов option атрибут value
оказывается третий select>option (как и второй) почему-то выдавал туже самую ошибку
в то время как первый не реагировал вовсе
решил проблему добавлением класса как уточнение для задействования нужного select>option
var i = jQuery(".cont select").index(this);



хотя...Вы знаете...почему-то до сих пор остальные селекторы меняют src
тлько не ссылку на img а примерно так

тут задействован нужный select>option
<img class="over_ch" src="elipse/016s.png" style="display: inline;">

тут два остальных
<img class="over_ch" src="4" style="display: inline;">


т.е. элементы option на данный момент выглядят так
<select>
	<option>0</option>
	<option>1</option>
	<option>2</option>
	<option>3</option>
	<option>4</option>
	<option>5</option>
	<option>6</option>
	<option>7</option>
</select>

вносить изменений они не должны,но они все же вносят изменения

рони 10.02.2016 20:33

Цитата:

Сообщение от AlphaKeloid
когда убрал у всех тэгов option атрибут value

плохая практика использовать что угодно, кроме того что для этого предназначено.

AlphaKeloid 10.02.2016 20:42

все))))
решено)
лишнее не задействовано
все гуд)

jQuery(function() {
    jQuery(".cont").change(function() {
        var i = jQuery(".cont").index(this);
        var src = this.value;
        jQuery(".images img").eq(i)[0].src = src;
        src = {
            light: "elipse/010s.png",
            dark: "elipse/016s.png"
        }[jQuery(this).find("option:selected").data("name")];
        src && (jQuery(".images img").last()[0].src = src)
    });
    jQuery(".over").click(function() {
        jQuery(".over_ch").toggle()
    })
});


заменил во второй и третей строках select на имя класса

рони 10.02.2016 20:45

AlphaKeloid,
ok


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