0

我目前正在使用单选按钮在javascript的帮助下单击时显示图像。问题是单击单选按钮时没有显示结果。下面的代码显示我正在使用一个函数,然后在单击时触发。代码有什么遗漏吗?或者有更好的方法吗?这是一个例子

谢谢

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

3 回答 3

4

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

删除它,一切都会好起来的。

于 2012-09-08T01:01:40.777 回答
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 '{'.
于 2012-09-08T01:02:39.713 回答
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">
于 2012-09-08T01:03:45.930 回答