如何根据下拉选择值使用Javascript更改图像?

时间:2014-10-21 13:28:31

标签: javascript jquery html css

我是一个使用JavaScript的完整菜鸟,但我设法在用户(状态,汽车,年份,条件)的左侧创建一个带有4个下拉选择框的表单。

用户进行下拉选择并单击下面的'calculate'按钮,然后根据输入运行一些简单的功能,并在表单的右侧显示4个不同的值。

在表单的中间是一张名为car1.png的图片,我想根据返回到结果3的值(即if 0.07 show "car2.png", if 0.06 show "car3.png")更改。我已经尝试了所有我能想到的内容并阅读了很多关于'if'语句的教程,但感觉我在找错了区域。

如果我在这方面缺乏知识,我会如何尽可能地做到这一点,我将非常感激。

这是我到目前为止所提出的:

<HTML>
<body>

<script type="text/javascript"> 
function calcform() 
{ 
with (document.form1) 

{ result1.value = +number1.value * .75 * 50}
{ result2.value = +number2.value * 1}
{ result3.value = +number3.value * 1}
{ result4.value = +number2.value * +number1.value}
} 
</script> 

</div>
<div class="span17">
<table><form name="form1" action=""> 

<h4>State :<br/>
<select name="number" id="number1">
        <option value="15">SA</option>
        <option value="16">VIC</option>
                <option value="17">NSW</option>
        <option value="10">QLD</option>
                <option value="19">NT</option>
        <option value="14">WA</option>
    </select></h4><br/> 
	
<h4>Car :<br/>

<select name="number" id="number4">
        <option value="1">Ford</option>
        <option value="2">Nissan</option>
                <option value="3">Toyota</option>
        <option value="4">Holden</option>
    </select></h4><br/> 
	
<h4>Year :<br/>
<select name="number" id="number2">
        <option value="0.1">1980</option>
        <option value="0.2">1981</option>
                <option value="0.3">1982</option>
        <option value="0.4">1983</option>
                <option value="0.5">1984</option>
        <option value="0.6">1985</option>
    </select></h4><br/> 
	
	<h4>Condition :<br/>
<select name="number3" id="number3">
        <option value="0.08">New</option>
        <option value="0.07">Used</option>
                <option value="0.06">Defect</option>
        <option value="0.05">Scrap</option>
    </select></h4><br/> 
	
	
<input type="button" id="Calculate" value="Calculate" 
onclick="calcform()" /><input type="reset" id="reset" value=" Clear "/></tr>

</span>

<div class="span20">

<br>
<br>
<img src="car1.png">

  </div>

<div class="span15">

<br/><tr><td><h4><strong></strong></h4><br/>
<h4>Result 1:<br /> 
<div class="span15">
<input type="text" id="result1" value="" size="40" /></h4><br/> 
</div>
<h4>Result 2:<br /> 
<input type="text" id="result2" value="" size="40" /></h4><br/> 

<h4>Result 3:<br /> 
<input type="text" id="result3" value="" size="40" /></h4><br/>

<h4>Result 4:<br /> 
<input type="text" id="result4" value="" size="40" /></h4><br/>
</form> </table>    </div>
                   
                    </div>                
                </div>                
            </div>
        </div>        
       
</body>
</html>

2 个答案:

答案 0 :(得分:0)

这是一个简单的小脚本,可以帮助您展示这一切是如何工作的。

小提琴: http://jsfiddle.net/8axe4nu2/1/

代码说明:

单击按钮时触发的功能,在这种情况下,我们只是使用它来返回点击功能的结果..在这种情况下,我只是让它提醒你选择的是什么车,但你可以理想地拥有这个将您想要显示的图像返回给特定的div。

function carPicker(carValue){
    alert(carValue);
}

这是脚本的一部分,您应该使用click函数来构建您想要返回的结果 - 在这种情况下,我查看选项(下拉列表)并获取所选值,您需要为每个执行此操作您的选项然后返回连接结果。

$("#carButton").on("click",function(){
    var carValue = $("#carPicker").val();
    carPicker(carValue);
});

答案 1 :(得分:0)

要更改图像,请在JS中执行此操作:

function calcform() 
{ 
with (document.form1) 

{ result1.value = +number1.value * .75 * 50}
{ result2.value = +number2.value * 1}
{ result3.value = +number3.value * 1}
{ result4.value = +number2.value * +number1.value}
if(result1.value > 0)
    document.getElementById("myImage").src = "image_name1";
if(result2.value == 1)
    document.getElementById("myImage").src = "image_name2";
} 

注意: 此“if()语句应包含您要更改为每张图片的条件。” 另外,将“image_name1”和“image_name2”更改为每种条件所需的其他图像的位置。您还可以包含更多条件。

注2: JS中的with语句很好。它表示对于以下每个块{},您将使用前缀“document.form1。”,即:

document.form1.result1.value =  ...
document.form1.result2.value = ...
document.form1.result3.value = ...
document.form1.result4.value = ...

将此ID放入您的代码img:

<img id="myImage" src="car1.png">