1

switch ステートメントと少し混乱しています。ホームページに必要です。簡単に説明します。html コードにラジオ ボタンの 2 つのグループがあり、それぞれが 3 つのボタンで構成されています。選択したボタンに応じて、画像が表示されます (1 つのグループに 3 つの異なる画像が表示され、もう 1 つのグループに 3 つの異なる画像が表示されます)。一度に2つの画像も表示されます。これはこれまでのところ私のコードで動作します。次にやりたいことは、選択したボタンの組み合わせに応じて 3 番目の画像を表示することです。これはこれまでの私のコードです

    <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 から開始します。

誰かがそれを機能させる方法についてアイデアを教えてもらえますか?

ありがとう、ジョルディ

4

2 に答える 2

1

両方の値を 3 番目の関数に渡し、そこで必要なチェックを行う必要があります。

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").valueHTML によっては、 で値を取得することもできます。

于 2013-01-26T11:10:12.520 に答える
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">';
}
于 2013-01-26T11:20:45.643 に答える