使用Javascript更改选择字段中的图像
Change images from a select field using Javascript
所以我试图根据用户从下拉菜单中选择的选项来更改图像。我现在的图像是"青色.png"、"品红色.png","黄色.png"answers"黑色.png"。
我的HTML
<select name="color" multiple>
<option>Cyan</option>
<option>Magenta</option>
<option>Yellow</option>
<option>Black</option>
<option>Fuschia</option>
</select>
我的JavaScript
// This part tries to load all images onto the carArray variable
var nameArray = new Array("cyan.png", "magenta.png", "yellow.png", "black.png", "fuschia.png");
var carArray = new Array;
for(var i = 0; i < carArray.length; i++) {
carArray[i] = new Image;
carArray[i].src = nameArray[i];
}
// This part tries (and fails) to change the image when the user selects a color from a dropdown menu
window.onload = function() {
var colorPicker = document.getElementsByName("color").selectedIndex;
var options = document.getElementsByName("color").options;
document.getElementById("photo").src = carArray[options[colorPicker];
}
你能帮我了解问题是什么,以及如何解决吗?
如果在window.onload
上绑定函数,它将只在加载窗口时激发一次。您可能希望将其绑定到select onchange
事件上。
例如:
function pickColor() {
var colorPicker = document.getElementsByName("color").selectedIndex;
var options = document.getElementsByName("color").options;
document.getElementById("photo").src = carArray[options[colorPicker]];
}
<select name="color" onchange="pickColor()" multiple>
...
正如@LightStyle所建议的,您应该避免内联事件分配。我不知道你的DOM,所以为了简单起见,我会在你的选择中添加一个id(它在页面中必须是唯一的)。然后您可以执行以下操作:
document.getElementById('color').onchange = function() {
var colorPicker = document.getElementsByName("color").selectedIndex;
var options = document.getElementsByName("color").options;
document.getElementById("photo").src = carArray[options[colorPicker]];
}
<select name="color" id="color" multiple>
相关文章:
- 将phonegap图像发布到php/mysql-图像字段从发布请求中消失
- jQuery-根据值在输入字段后追加图像
- 编辑图像字段javascript验证空白图像不插入
- 如何在Django中使用Dropzone为多个图像字段上传多个图像
- 在字段旁边显示图像
- 图像映射JavaScript在单击时输入字段中的Toogle值
- CKEditor:在插件“图像”的对话框窗口中设置输入字段的值
- 图像作为隐藏输入字段中的值
- 在Netsuite中创建suitelet列表时添加图像字段
- 如何使DropzoneJS图像字段成为我表单中的可选字段
- 使用Javascript,如果两个字段的值相等,我如何显示图像
- 使用Javascript更改选择字段中的图像
- JQuery ui自动完成带有多个字段的图像的文本
- 如何使用 CSS 将 标记中的内容更改为图像字段
- 如何将html5画布图像保存到mssqlvarbinary(max)字段
- 使用php设置图像上传器字段
- 图像下拉选择字段
- 如何在Flickr API中显示多图像字段中的一张图像
- 显示上传的图像,并将其缩放以适合图像字段而不失真
- n -repeat track by $index打破图像字段排序