验证多组单选按钮

时间:2013-02-25 17:46:45

标签: javascript types input

我有一个包含29个单选按钮对的表单,每个表单都有一个是/否选择。

每个集合的选择名称增加如下:ans1,ans2,ans3 ... ans29。 每个人的值为“是”或“否”

它或多或少是这样的:

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

我想编写一个Javascript函数来在提交表单时验证答案。我想在循环中使用数组,但不知道如何将选择放入数组中。

明显的长方法是重复的if(ans1 = yes) {do something} if(ans2=yes){do something}。 我见过getElementsByName的例子,但不知道如何在一个简单的循环函数中实现它来测试每次迭代。

2 个答案:

答案 0 :(得分: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是答案本身(即true false })。

in action

答案 1 :(得分:1)

使用jquery(http://jquery.com/)喜欢

for(int i = 1; i < 30; ++i)
{
    if ($('#yes' + i).val() == 'yes'){ do something }
}