2012-09-08 78 views
0

我目前正在使用单选按钮在JavaScript的帮助下单击时显示图像。问题是,单击单选按钮时我没有看到结果。下面的代码显示我正在使用一个函数,然后触发即使点击。有没有代码丢失?还是有更好的方法呢?这一个ExampleJavascript:单击单选按钮时的显示图像

谢谢

的Javascript

<script> 
    function check_value() { 
     function check_value(fieldvalue) { 
      switch (fieldvalue) { 
      case 1: 
       document.getElementById("imagedest").innerHTML = "<img src='images/bike1.jpg'>"; 
       break; 
      case 2: 
       document.getElementById("imagedest").innerHTML = "<img src='images/bike2.jpg'>"; 
       break; 
      case 3: 
       document.getElementById("imagedest").innerHTML = "<img src='images/bike3.jpg'>"; 
       break; 
      } 
     } 
</script> 

HTML

<form name="builder"> 
    <input type="radio" name="field" value="one" onclick='check_value(1)'/> KAWASAKI KX 450F<br /> 
    <input type="radio" name="field" value="two" onclick='check_value(2)'/> 2010 Yamaha Road Star S<br /> 
    <input type="radio" name="field" value="three" onclick='check_value(3)'/> Aprilia RSV4<br /> 
</form> 


<div id="imagedest"></div> 

回答

4

是什么的代码之前的额外function check_value() {的目的是什么?它的目的似乎是阻止你的代码工作,并因此提示你提出这个问题。

删除它,一切都会好的。

2
function check_value() { 
    function check_value(fieldvalue) { 

这将是问题所在。取出第一线......你只想

function check_value(fieldvalue) { 

在未来,检查控制台的错误,或者把它放进jsbin.com,它可能给你的问题的详细信息。对于你的代码,它会告诉你什么是错的:

Line 2: function check_value(fieldvalue) { --- 'check_value' is already defined. 
Line 1: function check_value() { --- Unmatched '{'. 
2

个人......我会加载图像,然后更改显示设置,但如果你不想做..

未经检验的,在原处编辑:

<script> 
    function check_value(val) { // You have to pass a parameter 
     var imgs = ['images/bike1.jpg', 'images/bike2.jpg', 'images/bike3.jpg']; 
     var img = imgs[val]; 
     var el = document.getElementById("imgBox"); 
     if (img) { 
     el.src = img; 
     el.style.display = ""; 
     } 

    } 
</script> 

<img id="imgBox" src="#" style="display:none"> 
+0

+1谢谢您的回答。你是正确的上传图像。我试过你的方法,似乎大部分工作。问题:图像与自行车的模型不匹配? – techAddict82

+0

然后,您必须调整HTML链接中的值或数组中的顺序。无论哪种方式应该是一个简单的修复。 –

相关问题