如何从表单提交中获取所有单选按钮组选择
How to get all radio button group selections from a form submit
我有一个包含多组单选按钮的表单,这些单选按钮是从问题数据库动态生成的。它们看起来像这样:
<input name="group{{../questionNumber}}" type="radio" id="q{{../questionNumber}}_{{answerLetter}}" value="{{answerLetter}}" />
其中 ((questionNumber}}
只是一个整数(它们从 1 开始排序)并且 {{answerLetter}}
将是每个新问题再次从 A
开始的字母,这意味着问题 1 , 答案 2 将有 name="group1"
和 id=q1_B
.
当用户提交表单时,我想得到他们所有的答案,但到目前为止,我只知道如何通过显式输入 name
属性值来获得答案:
Template.Test.events({
"submit #Test": function (event, template) {
// var element = template.find('input:radio[name=group1]:checked');
// alert($(element).val());
alert(event.target.group1.value)
return false;
}
});
#Test
就是 form
id
.
如何将所有 value
值动态地放入一个数组中?我还可以在上述函数中轻松获得单选按钮组的数量,还是从我的数据库中查询更容易?
您可以通过以下方式找到名称以 "group" 开头的所有选中的收音机:
var groups = {};
$('#Test').find('input[name^="group"]:checked').each(function(){
var this_name = $(this).attr('name');
var this_value = $(this).val();
groups[this_name] = this_value;
});
现在找到的收音机是对象的键 groups
所以你可以这样计算它们:
var count = 0;
for (var k in groups)
if (groups.hasOwnProperty(k))
++count;
无线电值是该对象中键的值。
我有一个包含多组单选按钮的表单,这些单选按钮是从问题数据库动态生成的。它们看起来像这样:
<input name="group{{../questionNumber}}" type="radio" id="q{{../questionNumber}}_{{answerLetter}}" value="{{answerLetter}}" />
其中 ((questionNumber}}
只是一个整数(它们从 1 开始排序)并且 {{answerLetter}}
将是每个新问题再次从 A
开始的字母,这意味着问题 1 , 答案 2 将有 name="group1"
和 id=q1_B
.
当用户提交表单时,我想得到他们所有的答案,但到目前为止,我只知道如何通过显式输入 name
属性值来获得答案:
Template.Test.events({
"submit #Test": function (event, template) {
// var element = template.find('input:radio[name=group1]:checked');
// alert($(element).val());
alert(event.target.group1.value)
return false;
}
});
#Test
就是 form
id
.
如何将所有 value
值动态地放入一个数组中?我还可以在上述函数中轻松获得单选按钮组的数量,还是从我的数据库中查询更容易?
您可以通过以下方式找到名称以 "group" 开头的所有选中的收音机:
var groups = {};
$('#Test').find('input[name^="group"]:checked').each(function(){
var this_name = $(this).attr('name');
var this_value = $(this).val();
groups[this_name] = this_value;
});
现在找到的收音机是对象的键 groups
所以你可以这样计算它们:
var count = 0;
for (var k in groups)
if (groups.hasOwnProperty(k))
++count;
无线电值是该对象中键的值。