1

5枚の画像から画像ライブラリを作成する必要があります。画像は、異なるラジオ ボタンで 1 つずつ選択して表示する必要があります。送信ボタンは許可されていません。ということで今までは画像名で画像出力するコードを書いていました。デフォルトの番号は 0=最初の画像です。しかし問題は、別のラジオ ボタンをクリックすると、関数が新しい番号を出力せず、ラジオをチェック済み = "チェック済み" にしなかったことです。

私の機能:

function radiocheck()
{
    for (var i=0; i < 5; i++)
    {
        if (document.forms[1].elements[i].checked=="true")
        {
            var whichISchecked = document.forms[1].elements[i].value;

            for (var z=0; z<i; z++)
            {
                document.forms[1].elements[z].checked="unchecked";
            }
            for (var z=i; z<5; z++)
            {
                document.forms[1].elements[z].checked="unchecked";
            }
        }
        else 
        {   
            document.forms[1].elements[0].checked="checked";
            var whichISchecked = document.forms[1].elements[0].value;
        }
    }
    return whichISchecked;
}
4

3 に答える 3

1

ラジオボタンは、チェックとチェック解除を自分で処理することになっています。このコードを検討してください(http://jsfiddle.net/87wkC/1/にもあります)

<form id="f">
<input type="radio" value="1" onclick="getValue(this.value)" name="field1">A<br>
<input type="radio" value="2" onclick="getValue(this.value)" name="field1">B<br>
<input type="radio" value="3" onclick="getValue(this.value)" name="field1">C<br>
<input type="radio" value="4" onclick="getValue(this.value)" name="field1">D<br>
<input type="radio" value="5" onclick="getValue(this.value)" name="field1">E<br>
</form>
<div id="result"></div>
<script>
function getValue(a){
    document.getElementById("result").innerHTML = a
}
</script>

オプションボタンをクリックすると、他のボタンがクリアされ(すべて同じものを指定することで処理されますname)、その値が使用可能になります。関数はリストの下に値を出力します。

于 2012-05-01T12:40:10.130 に答える
0

チェックされていない文字列を false に変更します

document.forms[1].elements[z].checked="unchecked";

document.forms[1].elements[z].checked=false;

また

document.forms[1].elements[i].checked=="true"

みたいにならないかな

document.forms[1].elements[i].checked===true 
于 2012-05-01T12:29:28.417 に答える
0

a)jQueryを使用すると、物事がはるかに簡単になります

b)チェックする必要があります

checked == true

そしてそうではない

checked == "true"

checked = "checked" 

何もしません。真/偽の値だけです

于 2012-05-01T12:29:32.160 に答える