2

29 のラジオ ボタン ペアを含むフォームがあり、それぞれに Yes/No の選択肢があります。

セレクションの名前は、各セットごとに次のように増加します: ans1、ans2、ans3... ans29。それぞれに「はい」または「いいえ」の値があります

多かれ少なかれ次のようになります。

<input type="radio" id="yes1" name="ans1" value="yes"/>
<input type="radio" id="no1" name="ans1" value="no"/>

フォームの送信時に回答を検証する Javascript 関数を作成したいと考えています。ループ内で配列を使用することを考えていましたが、選択を配列に入れる方法がわかりません。

明らかな long メソッドは反復if(ans1 = yes) {do something} if(ans2=yes){do something}です。例を見てきgetElementsByNameましたが、単純なループ関数に実装して、すべての反復をテストする方法がわかりません。

4

2 に答える 2

5

jQuery の使用

$("input:radio:checked").each(function (index) {
    var this$ = $(this);
    var q = this$.attr('name');
    var a = this$.val();

    console.log('Question: ' + q + ', answer: ' + a);
});

このスニペットは、チェックされたラジオ ボタンのみを選択し、コンソールに出力します。はq質問の名前 (例: ans1)、aは答えそのもの (例:truefalse) です。

実際に見てください。

于 2013-02-25T18:05:58.137 に答える
1

jquery(http://jquery.com/)のように使用します

for(int i = 1; i < 30; ++i)
{
    if ($('#yes' + i).val() == 'yes'){ do something }
}
于 2013-02-25T18:00:22.260 に答える