我有一组不同名称的单选按钮。我必须动态选择这些值。 这是一个示例代码。
<input type="radio" id="@(item2.QuestionId):@(item3.OptionId)_mt" columnvalue="@i" value="@(item2.QuestionId):@(item3.OptionId)" name="@(item2.QuestionId)_selectedobjects" />
当我点击提交按钮时,我会得到那些数组。
var name={748_selectedobjects, 749_selectedobject, 750_selectedobjects}
现在我需要找出为每个名字选择的收音机盒。 我怎么能在Jquery中做到这一点。
我正在尝试
$('input[name=748_selectedobjects]:checked').Val();
如何动态传递名称?
感谢。
答案 0 :(得分:0)
您可以使用attributes ends with selector然后迭代返回的元素,例如将列值存储在对象中
var checked = {};
$('input[name$=_selectedobjects]:checked').each(function(){
//With this command you retrive the column value
checked[$(this).attr('name')] = $(this).attr('columnValue');
});
checked
将是一个对象,对象属性是单选按钮的名称,并且值为已检查无线电的值
编辑 - 如果你需要在表单元素中找到这些对象,你应该将表单元素作为上下文传递:
var form = $('#myform_' + splitstr[0]);
$('input[name$=_selectedobjects]:checked', form)//just select those elements inside your form
答案 1 :(得分:0)
Nicola Peluchetti的答案可以正常使用,但如果你想在代码中更准确一点,那么以下内容也会有效:
for(var i = 0; i < name.length; i++){
$(':radio[name=' + name[i] + ']:checked').val();
}
主要区别在于上面的答案将选择与选择器匹配的所有输入(选择,无线电,文本字段)(以“_selectedobjects”结尾),因为我只会选择具有所选名称的广播