JavaScript Switch语句:一次检查2个案例

时间:2013-01-26 11:02:56

标签: javascript if-statement switch-statement

我对switch语句有点困惑,我需要它用于我的主页。我稍后会解释:我的html代码上有两组单选按钮,每组包含三个按钮。根据所选择的按钮,将显示图像(对于一组表示三个不同的图像,对于另一组表示三个不同的图像)。一次还显示两个图像。到目前为止,这适用于我的代码。我接下来要做的是根据所选按钮的组合显示第三个图像。到目前为止,这是我的代码

    <html>
<head>
<title>Radio-Buttons</title>
</head>
<body>

<h1>Testing</h1>

<script language='JavaScript' type='text/javascript'>


    function check_value(fieldvalue)
    {    

        switch(fieldvalue)
        {
            case 1:

                document.getElementById("imagedest").innerHTML = "<img src='image1.jpg'>";

                    break;

            case 2:

                document.getElementById("imagedest").innerHTML = "<img src='image2.png'>"; 

                    break;

            case 3:

                document.getElementById("imagedest").innerHTML = "<img src='image3.jpg'>"; 

                    break;
        }

   }
    function check_other_value(fieldvalue)
    {   

        switch(fieldvalue)
        {
            case 1:

                document.getElementById("imagedest2").innerHTML = "<img src='image4.jpg'>";



            break;

            case 2:

                document.getElementById("imagedest2").innerHTML = "<img src='image5.png'>";


        break;

            case 3:

                document.getElementById("imagedest3").innerHTML = "<img src='image6.jpg'>";

    }

    }


</script>

<form name='test'>
    <input type="radio" name="field" value="one" onclick='check_value(1)'>one 
    <input type="radio" name="field" value="two" onclick='check_value(2)'>two 
    <input type="radio" name="field" value="three" onclick='check_value(3)'>three 
</form>

<div id='imagedest'>
</div>


<form name='tests'>
    <input type="radio" name="fields" value="one" onclick='check_other_value(1)'>one 
    <input type="radio" name="fields" value="two" onclick='check_other_value(2)'>two 
    <input type="radio" name="fields" value="three" onclick='check_other_value(3)'>three 
</form>

<div id='imagedest2'>
</div>



</body>
</html>

此代码适用于我之前描述的内容。我想用“if”语句来检查所选的第一个案例,但据我所知,在“休息”之后,该函数“擦除”所有内容并从0开始。

有人可以告诉我如何让它发挥作用吗?

谢谢你, 霍尔迪阿

2 个答案:

答案 0 :(得分:1)

您必须将这两个值传递给第三个函数,并执行您需要执行的任何检查。

function check_third_value( field1, field2 )
{
    if( field1 == 1 && field2 == 2 ) {
        // do something
    } else if( field1 == 2 && field2 == 2 ) {
        // do something else
    } else if...
}

如何传递值取决于触发更改的方式。您还可以使用document.getElementById("fieldID").value获取值,具体取决于您的HTML。

答案 1 :(得分:0)

请跟我说简单,但为什么不这样做呢:

function updateImage(value_1, value_2) {
    document.getElementById("image_1").innerHTML = '<img src="img_1_' + value_1 + 'jpg">';
    document.getElementById("image_2").innerHTML = '<img src="img_2_' + value_2 + 'jpg">';
    document.getElementById("image_3").innerHTML = '<img src="img_3_' + value_1 + '_' + value_2 + 'jpg">';
}