选择

时间:2018-02-21 18:51:25

标签: javascript css3 drop-down-menu msdropdown

并提前感谢

我在自定义电子商务CMS中工作,其中选项的值是唯一的,需要通过订购流程来定义项目。

<div id="dropdown">
<select name="webmenu" id="webmenu">
<option value="4727c31d-8813-4921-9c2e-320d39e2a8dd" id="bigImg1">Option 1</option>
<option value="916607ea-b0f6-4553-887c-d02a16ac4fcd" id="bigImg2" >Option 2</option>
<option value="a4a5fdab-86a0-4c3f-acbd-0a9a747698dc" id="bigImg3">Option 3</option>
</select>
</div>


<div id="image">
<img src="#" class="imagechange">
</div>

<img id="bigImg1" src="https://lh4.ggpht.com/zQIXMNP87brRkMSRRiALQkgF-JRQeBW5vMgqwUt3xMwKw3yeZeZyH1GU6lzXNbDBuRM=w300">
<img id="bigImg2" src="https://lh3.googleusercontent.com/62kbzMH6YNZKg1eAbgDNZzPe3UyP86_CovtA14fSNsFXoCBi3RYzLPegjHRwiMyF7Q=w300">
<img id="bigImg3" src="https://demos.algorithmia.com/colorize-photos/public/images/yosemite.png">

我希望选择在单独的div中更改图像。

我已经能够使用msDropdown脚本,但它是从2009年开始,功能似乎有限且过时。我不想用这种方式。

我也看到过这样做的方法,其中值为img,onchange =“$”更改值。

我认为最简单的方法可以通过css和js的组合来改变bg img。

或通过设置特定值= img src。

但是,我不知道如何做到这一点,因为我的自定义脚本体验有限。

这里的任何帮助将不胜感激,这是我对此帐户的第一个问题,但我多年来一直是stackflow社区的成员。再次感谢

2 个答案:

答案 0 :(得分:1)

您不能多次使用idid对于元素来说是唯一的。

var image = document.querySelector('#image img');
document.getElementById('webmenu').onchange = function(){
  image.src=document.getElementById(this.options[this.selectedIndex].getAttribute('data-img')).src;
}
<div id="dropdown">
<select name="webmenu" id="webmenu">
<option value="4727c31d-8813-4921-9c2e-320d39e2a8dd" data-img="bigImg1">Option 1</option>
<option value="916607ea-b0f6-4553-887c-d02a16ac4fcd" data-img="bigImg2" >Option 2</option>
<option value="a4a5fdab-86a0-4c3f-acbd-0a9a747698dc" data-img="bigImg3">Option 3</option>
</select>
</div>


<div id="image">
<img src="#" class="imagechange">
</div>

<img id="bigImg1" src="https://lh4.ggpht.com/zQIXMNP87brRkMSRRiALQkgF-JRQeBW5vMgqwUt3xMwKw3yeZeZyH1GU6lzXNbDBuRM=w300">
<img id="bigImg2" src="https://lh3.googleusercontent.com/62kbzMH6YNZKg1eAbgDNZzPe3UyP86_CovtA14fSNsFXoCBi3RYzLPegjHRwiMyF7Q=w300">
<img id="bigImg3" src="https://demos.algorithmia.com/colorize-photos/public/images/yosemite.png">

答案 1 :(得分:0)

你不能有2个相同的元素 我在下拉列表中将id更改为class,并向onchange添加了select个事件,触发了一个名为changeImg的函数。 /> 据我所理解 this应该有用。