jquery - 如何基于另一个单击按钮设置一个单选按钮

时间:2013-04-20 04:32:59

标签: jquery radio-button

假设我有一个包含此内容的表单:

<input type='radio' name='o37_field1' value='aaa'>aaa
<input type='radio' name='o37_field1' value='bbb'>bbb

<input type='radio' name='o44_field1' value='aaa'>abcdef
<input type='radio' name='o44_field1' value='bbb'>baksdf

<input type='radio' name='o58_field1' value='aaa'>wisdof
<input type='radio' name='o58_field1' value='bbb'>safhwr

这是我需要用jquery做的但遇到麻烦:

如果在其中一个集合中单击“aaa”,也为其他集合设置/检查“aaa”,并对其他任何具有“field1”作为名称一部分的单选按钮执行相同操作。 aaa“作为价值。

同上bbb

有什么想法吗?

3 个答案:

答案 0 :(得分:3)

当选中一个时,这将设置所有无线电的值为“aaa”:

$(document).ready(function() {
   $(':radio[value=aaa]').change(function(){
       $(':radio[value=aaa]').prop('checked',true);
   });
});

更强大的解决方案,例如在点击一个时选择所有“喜欢”值:

$(document).ready(function() {
    $(':radio').change(function(){       
       $(':radio[name$='field1'][value='+$(this).val()+']').prop('checked',true);
   });
});

答案 1 :(得分:1)

你走了。使用http://jsfiddle.net/5p8KN/ endswith attribute selector选择field1。

$("input[type='radio']").click(function(){
$("input[type='radio'][name$='field1'][value='" + $(this).val() + "']").prop('checked',true);
});

如果您想查找{1}}的field1匹配,那么您可以使用input[name*='field1']

答案 2 :(得分:0)

将同一类应用于所有aaa单选按钮

然后在点击事件中使用

$("input[type='radio']").click(function(){
  $(":radio[value="+$(this).val()+"]")).each(function(index,value){     
    $(this).attr('checked',true); or   $(this).attr('checked','checked');
   });
});