2014-02-13 66 views
0

如何获取一组相关单选按钮的选中单选按钮的值,而无需使用它们的ID?我可以尝试这样的事情,但它不够通用。获取选中单选按钮的值

var boxes = $('input[name=BankAccountTypeGroup]:checked'); 
$(boxes).each(function() { 
    if ($(this).val() == 'Savings') { 
     // 
    } 
}) 
+0

你是什么意思'通用'?请更好地解释你自己。 – ojovirtual

+0

对于选中的单选按钮应该只有一个值。所以像这样:$(this).val()。我对复选框有效。 –

+1

不应该$('input [name = BankAccountTypeGroup]:checked')。val()为该组选中的收音机获取正确的值? http://jsfiddle.net/xmz2K/也许显示一些html – Huangism

回答

0

单选按钮由name属性进行分组,所以你当前的选择应该能正常运行(甚至没有循环) - 如果你有共同的命名组的多个组,则可以使用^=(开头)内属性选择器来获取所有组。

例如,你有多个无线组开始“的BankAccount”

var groups = $(":radio[name^=BankAccount]:checked").map(function() { 
    return this.value; 
}).get(); 

.map()返回开头“的BankAccount”

0
var boxes = $('input[name=BankAccountTypeGroup]:checked'); 
if (boxes.length==1) //test it, maybe there is no radio checked 
    { 
     alert(boxes[0].value); //boxes[0] is the first and only-checked element, 
    } 
0

的无线电组所有检查的值的一个很好的阵列试试这个...

var $boxes = $('#yourcontaineridOfAllCheckboxes').find('input[type=radio]:checked')); 
    $($boxes).each(function() { 
     if ($(this).val() == 'Savings') { 
      // 
     } 
    }) 
+0

OP正在寻找单选按钮,而不是复选框。 – Coenwulf

+0

OP可以把电台,而不是复选框。 – Sunny