0

并提前谢谢你

我在自定义电子商务 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 社区的成员。再次感谢

4

2 回答 2

1

不能id多次使用。id意味着对一个元素来说是唯一的。

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">

于 2018-02-21T19:05:56.070 回答
0

你不能有 2 个相同的元素,所以我在下拉列表中更改id为,并向 中添加了一个事件,该事件触发了一个名为. 据我了解, 应该有效。class
onchangeselectchangeImg

于 2018-02-21T19:28:22.353 回答