radiobutton列表列表 - 仅允许选择一个

时间:2012-07-03 10:47:38

标签: javascript jquery html

我在fieldset标记中有多个radiobutton列表。

我只想要从整个列表中选择一个项目...... 目前我可以从每个单选按钮列表中选择一个项目 - 这是正常的

我知道这样做的正确方法是拥有一个长单选按钮列表,但这不是一个选项。

在javascript / jquery中有没有给出fieldset类名的方法 - 比如说

<fieldset class="mylistofradiolists">当选择其中的单选按钮时,所有其他项目取消选择且仅单个项目仍然被选中

由于

2 个答案:

答案 0 :(得分:6)

您可以使用以下代码执行此操作

$radios =  $('.mylistofradiolists :radio');
$radios.on('change',function(){
   $radios.not(this).prop('checked',false);
});

当选择收音机时,除了在该容器内取消选择的所有其他收音机外。

最好使用

$radios =  $('.mylistofradiolists [type=radio]');

而不是

$radios =  $('.mylistofradiolists :radio');

正如:radio选择器的文档所说

  

因为:radio是jQuery扩展而不是CSS的一部分   规范,查询使用:radio无法利用   本机DOM querySelectorAll()提供的性能提升   方法。

     

要在现代浏览器中获得更好的性能,请使用[type =“radio”]   代替。

答案 1 :(得分:2)

通过保持单选按钮的每个“名称”属性相同,您可以实现从通过字段集标记分隔的单选按钮列表中仅选择一个单选按钮的功能。

例如: - 对于第一个字段集 - 保持单选按钮名称字段相同。

<fieldset >
<input type="radio" name="food" /> : Italian<br />
<input type="radio" name="food" /> : Greek<br />
<input type="radio" name="food" /> : Chinese<br />
<fieldset >

和第二个字段集,保持name属性相同: -

<fieldset >
<input type="radio" name="food" /> : Indian<br />
<input type="radio" name="food" /> : UK<br />
<fieldset >

希望这个用户提问:)