此代码获取用户输入并将其替换为“selected”,示例
第一输入
用户输入:
Apple
过程(内部发生的事情):
"img2/" + Apple + ".jpg";
输出:
Apple.jpg (image)
问题是一旦用户输入一个没有相应图像代码的查询,输出前一个
第二输入 用户输入:
Orange
过程(内部发生的事情):
"img2/" + Apple + ".jpg";
输出:
Apple.jpg (image) //wrong incorrect
var q = document.getElementById("code");
if (q.selectedIndex > 0) {
var selected = q.options[q.selectedIndex].value;
var src = "img2/" + selected + ".jpg";
var img = document.getElementById("placeholderImg");
img.src = src;
img.style.display = "inline";
}
<select name="code" id="code" size="" disabled="true" hidden="true">
<option value="Apple">Apple</option>
<option value="Atis">Atis</option>
//so on and so forth
我该如何解决这个问题?任何建议意见都表示高度赞赏
答案 0 :(得分:0)
你的错误在行内
if (q.selectedIndex > 0)
选择第一行时selectedIndex
属性为0
(在您的情况下为“Apple”)。
因此,if语句仅在选择“Apple”以外的其他内容时才有效
如果未选择任何内容,则selectedIndex
属性为-1
,而不是0
!
您应该使用以下语句替换它:
if (q.selectedIndex > -1)