изменить IMG SRC с помощью выбора - PullRequest
0 голосов
/ 30 июля 2009

Я использую форму выбора для навигации по странице.

<form name="form">
  <select name="menu1"  onChange="MM_jumpMenu('parent',this,1)">
<option value="#" selected>SELECT</option> 
<option value="#a">location A</option>
<option value="#b">location B</option> 
</form>

Я бы хотел, чтобы в форме выбора была добавлена ​​функциональность изменения изображения src. Что-то вроде:

<option value="#a; imagea.src='a2.jpg">location A</option>

Спасибо.

Ответы [ 3 ]

1 голос
/ 30 июля 2009

MM_jumpMenu(), вероятно, большая монолитная вещь от Macromedia. Изменить его будет сложно, если не невозможно. Другая проблема заключается в том, что MM_jumpMenu(), кажется, зависит от value, являющегося якорем. Как только вы введете дополнительную информацию в атрибут value, MM_jumpMenu(), вероятно, перестанет работать.

Учитывая все это, я бы предложил перехватить еще один атрибут тега <option> и написать собственную новую функцию:

<form name="form">
    <select name="menu1"
        onchange="MM_jumpMenu('parent',this,1);changeImageSrc(this);">
    <option value="#" selected>SELECT</option> 
    <option id="a2" value="#a">location A</option>
    <option id="b2" value="#b">location B</option> 
</form>
<script type="text/javascript">
function changeImageSrc(sel) {
    var opt = sel.options[sel.selectedIndex];
    if (opt.id) {
        var img = document.getElementById('yourImageId');
        img.src = opt.id + '.jpg';
    }        
}
</script>
0 голосов
/ 30 июля 2009

MM_jumpMenu - это функция Dreamweaver. Вы, вероятно, не хотите идти туда. Кроме того, объединение нескольких элементов в атрибуте value пахнет плохо. Вместо этого сделайте что-нибудь подобное -

<img id="my-image" src="img/default.gif" />

<form name="form">
<select name="menu1" 
    onchange="MM_jumpMenu('parent',this,1); updateImage('my-image', this)">
<option value="#" selected>SELECT</option> 
<option value="#a">location A</option>
<option value="#b">location B</option> 
</form>

<script type="text/javascript">
updateImage = function(imageId, select) {
    var images = {
        a: 'img/a.gif',
        b: 'img/b.gif'
    }
    var key = select.value.substr(1);
    if (typeof images[key] != 'undefined') {
        document.getElementById(imageId).src = images[key];
    }
};
</script>
0 голосов
/ 30 июля 2009

Вам нужно будет изменить функцию MM_jumpMenu. Пожалуйста, опубликуйте источник этой функции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...