Изменение изображения с помощью выпадающего меню

0

Я пытаюсь изменить изображение в зависимости от того, какой параметр выбран в раскрывающемся меню. Я очень новичок в javascript, поэтому я уверен, что это небольшая проблема, о которой я не замечаю. Моя попытка реализовать его ниже:

JS:

<script type="text/javascript">             
    function setPicture() {
        var img = document.getElementById("coffeedropdown");
        var value = coffeedropdown.options[coffeedropdown.selectedIndex].value;
        alert(selectedValue);
    }
</script>

HTML:

<select id="coffeedropdown" onchange="setPicture();">
    <option value="../Images/pimms.jpg">Select a Drink</option>
    <option value="../Images/caffe.jpg">Caffe</option>
    <option value="../Images/caffelatte.jpg">Caffe Latte</option>
    <option value="../Images/cappuccino.jpg">Cappuccino</option>
    <option value="../Images/marocchino.jpg">Caffee Marrocchino</option>
    <option value="../Images/americano.jpg">Caffe Americano</option>
    <option value="../Images/shakerato.jpg">Caffe Shakerato</option>
    <option value="../Images/corretto.jpg">Caffe Corretto</option>
</select>

Если бы кто-нибудь мог мне помочь, я бы очень признателен! Благодарю.

Теги:

3 ответа

2
Лучший ответ

У вас coffeedropdown переменной coffeedropdown объявленной или инициализированной в любом месте, поэтому после инициализации переменной img с выпадающим списком вам понадобится img для дальнейшего использования, так как ваш coffedropdown будет теперь img.

var img = document.getElementById("coffeedropdown");
var value = coffeedropdown.options[coffeedropdown.selectedIndex].value;

должно быть

var img = document.getElementById("coffeedropdown");
var value = img.options[img.selectedIndex].value;
            ^^^         ^^^ //img here not coffeedropdown

скрипка

  • 0
    Спасибо! Это исправило это, в дополнение к изменению selectedValue на значение. К сожалению.
1

Попробуй это

function setPicture() {
    var img = document.getElementById("coffeedropdown");
    var value = img.options[coffeedropdown.selectedIndex].value;
    alert(value);
}

DEMO

  • 0
    Ах, это опечатка. Спасибо, что поймали это. Это все еще не работает. Мой JS в голове, это имеет значение?
1

Самый простой способ:

<select id="coffeedropdown" onchange="setPicture(this);">
            <option value="../Images/pimms.jpg">Select a Drink</option>
            <option value="../Images/caffe.jpg">Caffe</option>
            <option value="../Images/caffelatte.jpg">Caffe Latte</option>
            <option value="../Images/cappuccino.jpg">Cappuccino</option>
            <option value="../Images/marocchino.jpg">Caffee Marrocchino</option>
            <option value="../Images/americano.jpg">Caffe Americano</option>
            <option value="../Images/shakerato.jpg">Caffe Shakerato</option>
            <option value="../Images/corretto.jpg">Caffe Corretto</option>
        </select>
    <script type="text/javascript">

        function setPicture(select) {
            selectedvalue=select.value;
            alert(selectedvalue);
        }
    </script>

Ещё вопросы

Сообщество Overcoder
Наверх
Меню