javascript - 选择框 onchange 更新多个项目

标签 javascript html variables

我正在尝试获取一个选择框以使用 onchange 函数来更新其周围的多个项目。这是到目前为止我的代码:

function picture() {
var imglink;
var imgprice;
var picture_type = document.getElementById('picture_type').value;
if ("picture_type" == "1") {
    imglink = "img1.png";
    imgprice = "$xx.xx";
}
if("picture_type" == "2") {
    imglink = "img2.png";
    imgprice = "$xxx.xx";
}
else {
    document.getElementById('iphoneprice').style.display = 'none';
}
document.getElementById('phoneimg').src = imglink;
document.getElementById('iphoneprice').innerHTML = imgprice;
}

以及匹配的 HTML:

<select id="picture_type" onchange="picture()">
<option value="1">iPhone 4</option>
<option value="2">iPhone 4S</option>
</select>
<p id="iphoneprice"></p>
<img id="iphoneimg" src="" />

如何才能成功同时更新这两个变量?

最佳答案

您有一个拼写错误(getElementById('phoneimg') 应该是 getElementById('iphoneimg')),并在变量名称周围加上了引号。这应该有效:

function picture() {
    var imglink;
    var imgprice;
    var picture_type = document.getElementById('picture_type').value;
    if (picture_type == "1") {
        imglink = "img1.png";
        imgprice = "$xx.xx";
    }
    else if(picture_type == "2") {
        imglink = "img2.png";
        imgprice = "$xxx.xx";
    } else {
        document.getElementById('iphoneprice').style.display = 'none';
    }
    document.getElementById('iphoneimg').src = imglink;
    document.getElementById('iphoneprice').innerHTML = imgprice;
}

<强> jsFiddle example

关于javascript - 选择框 onchange 更新多个项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26767480/

相关文章:

javascript - onkeyup jquery 函数不起作用

javascript - 自定义元素可以扩展输入元素吗?

javascript - 如何使用包含其键名的变量来访问对象属性

javascript - slider 需要超时功能动画

javascript - 我如何知道该网站使用的是什么 JS/HTML5 库?

php - 在linux中重新初始化系统范围的环境变量

php - 如何将表单查询插入 $html = file_get_contents_curl();

javascript - 初始化时的 fb.init 事件

javascript - 如何在命名空间中创建私有(private)变量?

javascript - jquery,防止父元素上的 onclick=window.location