【发布时间】:2017-09-25 19:55:34
【问题描述】:
所以我尝试制作一个图表,其中包含基于下拉选择在表格的每个单元格中弹出的图像。 我遇到了麻烦,因为有多个选择,我似乎无法让一个 javascript 函数适用于所有下拉菜单(都有相同的选项和可用图像)
这是我现在拥有的
<script type="text/javascript">
function swapImage(){
var image = document.getElementById("imageToSwap");
var dropd = document.getElementById("dlist");
image.src = dropd.value;
};
</script><script>
function swap2twinleaf(){
var image = document.getElementById("twinleaf2swap");
var dropd = document.getElementById("dlist2");
image.src = dropd.value;
};
</script>
还有我拥有的html
<img id="imageToSwap" alt="sprite" src="Pokemon%20DW%20Sprites/387.png">
<select id="dlist" onChange="swapImage()">
<option value="C:\Users\Gaia Soul\Desktop\Pokemon DW Spirites - 20170920T221714Z-001\Pokemon DW Spirites\387.png">Turtwig</option>
<option value="C:\Users\Gaia Soul\Desktop\Pokemon DW Spirites - 20170920T221714Z-001\Pokemon DW Spirites\390.png">Piplup</option>
<option value="C:\Users\Gaia Soul\Desktop\Pokemon DW Spirites - 20170920T221714Z-001\Pokemon DW Spirites\393.png">Chimchar</option>
</select>
</td><td>
<img id="twinleaf2swap" alt="sprite" src="Pokemon%20DW%20Sprites/387.png">
<select id="dlist2" onChange="swap2twinleaf()">
<option value="C:\Users\Gaia Soul\Desktop\Pokemon DW Spirites - 20170920T221714Z-001\Pokemon DW Spirites\387.png">Turtwig</option>
<option value="C:\Users\Gaia Soul\Desktop\Pokemon DW Spirites - 20170920T221714Z-001\Pokemon DW Spirites\393.png">Piplup</option>
<option value="C:\Users\Gaia Soul\Desktop\Pokemon DW Spirites - 20170920T221714Z-001\Pokemon DW Spirites\390.png">Chimchar</option>
</select>
第一个有效,但第二个似乎从来没有做任何事情。 我确实有一张很大的桌子,所以我想将 javascript 保留在一个函数中。
【问题讨论】:
-
如果可以的话,我也一直将 javascript 放在 标记中
-
您需要为您的
img元素提供唯一 ID - developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/id。 -
然后你可以将唯一的
ID传递给绑定到onChange的swapImage函数调用。您可以使用传入的ID来获取正确的img元素,而不是在document.getElementById("imageToSwap")中硬编码ID。
标签: javascript html image drop-down-menu onchange