2012-07-03 152 views
0

我在fieldset标签中有多个单选按钮列表。单选按钮列表列表 - 只允许选择一个

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

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

是否有使用Javascript/jQuery的一种方式,给出的字段集类的名称 - 说

<fieldset class="mylistofradiolists">当选择在其中单选按钮的所有其他项目取消并且只有单一保持选中状态

感谢

+1

可以为所有的单选按钮,使用相同的名称一个字段集内 –

+1

@MiqdadAli“我知道正确的做法是做一个长单选按钮列表,但这不是一个选项。”他已经说过,无论出于何种原因,这是不可能的。 –

回答

6

你可以做到这一点与下面的代码

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

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

这是更好地利用相反的

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

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

至于:radio选择的医生说

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

为了在现代浏览器中获得更好的性能,请改用[type =“radio”]

+0

是不是浏览器的默认操作? – undefined

+1

@undefined,是的,如果所有收音机都有相同的名称。但在这种情况下,他们没有。我假设他正在为广播组使用不同的名字,因为他提到'单选按钮列表' –

+0

+1,但是OP的要求似乎是不合理的。 – undefined

1

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

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

<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 > 

希望这雁用户问题:)

+0

他已经在问题中说过他不能这样做:“我知道这样做的正确方法是有一个长单选按钮列表,但这不是一个选项。” –

相关问题