我正在努力创建一个表格并向客户展示产品图片,客户选择了什么。我无法正常工作,所以这就是为什么我要在这里问问题。
此刻我有以下代码:
<select onchange="yesnoCheck(this);">
<option value=“luxebonbon5”>Luxe bonbons 5 stuks</option>
<option value=“luxebonbon10”>Luxe bonbons 10 stuks</option>
<option value=“luxebonbon15”>Luxe bonbons 15 stuks</option>
<option value=“bonbonmetlogo6”>Bonbons met logo 6 stuks</option>
<option value=“bonbonmetlogo12”>Bonbons met logo 12 stuks</option>
<option value=“bonbonmetlogo18”>Bonbons met logo 18 stuks</option>
<option value=“klassiekbonbon16”>Klassieke bonbons 16 stuks</option>
<option value=“klassiekbonbon23”>Klassieke bonbons 23 stuks</option>
<option value=“paasei15”>Luxe chocolade paasei 15cm</option>
<option value=“paasei20”>Luxe chocolade paasei 20cm</option>
<option value=“paashaas50”>XL chocolade paashaas 50cm</option>
<option value=“paascadeau”>Paas cadeau pakket</option>
<option value=“chocoletter”Chocoladeletter (standaard)</option>
<option value=“chocolettersmarties”>Chocoladeletter (smarties)</option>
<option value=“chocoletterhazelnoot”>Chocoladeletter (hazelnoot)</option>
<option value=“chocoletterkaramel”>Chocoladeletter (karamel zeezout)</option>
<option value=“chocoletterkoffie”>Chocoladeletter (koffiebonen)</option>
<option value=“chocoletterruby”>Ruby Chocoladeletter</option>
<option value=“chocopepernoot”>Chocolade pepernoten</option>
<div id="ifYes" style="display: none;">
<label for="car">Dit product?</label> <input type="text" id="car" name="car" /><img src=“(image)”><br />
<script>
function yesnoCheck(that) {
if (that.value = “luxebonbon5”) {
alert("check");
document.getElementById("ifYes").style.display = "block";
} else {
document.getElementById("ifYes").style.display = "none";
}
}
</script>
答案 0 :(得分:0)
我可以看到您的代码有两个问题:
1)if (that.value = “luxebonbon5”)
:要比较JS中的两个字符串,请使用==
,而不要使用=
!
2)您不需要在处理程序中传递that
参数。在事件处理程序内部,this
将始终引用触发事件的元素,在本例中为select
元素。
现在,解决您的问题的一种可能方法是,首先设置一个img
格,并在用户选择任何选项时使用其src
属性。
假设每个选项的value
等于相应图像的名称(此处只是为了使其更简单):
function yesnoCheck() {
var image = document.getElementById("your_image_id");
image.src = this.value;
}