首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jquery -选择下拉列表时图像不变

Jquery -选择下拉列表时图像不变
EN

Stack Overflow用户
提问于 2014-05-13 15:25:50
回答 8查看 159关注 0票数 0

我有一个不同车型的选择菜单,当用户从下拉菜单中选择一个车型时,汽车图像需要改变,但它不会改变。下面是我的代码:

代码语言:javascript
复制
 <h2 class="model">A6
<img src="images/3.jpg" id="image" width="544" height="203" style="margin-left:275px; margin-top:-82px" />
</h2>

<select id="image" class="modelSelect">
    <option value="1" selected>A4</option>
    <option value="2">A6</option>
    <option value="3">A8</option>
</select>

var pictureList = [
    "images/1.jpg",
    "images/2.jpg",
    "images/3.jpg",
     ];

$('#image').change(function () {
    var val = parseInt($('#image').val());
    $('img').attr("src",pictureList[val]);
});

EN

回答 8

Stack Overflow用户

发布于 2014-05-13 15:28:43

2个问题:

对于<select />

  • An数组,您使用相同的id作为<select />的索引,而不是从1开始。因此,您的<select />

  • 应该如下所示:

<select id="image" class="modelSelect"> <option value="0" selected>A4</option> <option value="1">A6</option> <option value="2">A8</option> </select>

票数 2
EN

Stack Overflow用户

发布于 2014-05-13 15:45:19

您的id是相同的

如下所示:

代码语言:javascript
复制
<select id="imageSelect" class="modelSelect">
    <option value="1" selected>A4</option>
    <option value="2">A6</option>
    <option value="3">A8</option>
</select>

$('#imageSelect').change(function () {
    var val = parseInt($('#imageSelect').val());
    $('img').attr("src", pictureList[val]);
});
票数 1
EN

Stack Overflow用户

发布于 2014-05-13 15:29:15

这样做,因为您对两者具有相同的id,您需要更具描述性的选择器或更改id,以便两者不应该相同:

代码语言:javascript
复制
$('select#image').change(function () {
    var val = parseInt($('select#image').val());
    $('img#image').attr("src",pictureList[val]);
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23625105

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档