我有一个包含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
的例子,但不知道如何在一个简单的循环函数中实现它来测试每次迭代。
答案 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
})。
答案 1 :(得分:1)
使用jquery(http://jquery.com/)喜欢
for(int i = 1; i < 30; ++i)
{
if ($('#yes' + i).val() == 'yes'){ do something }
}