如果选择了另一个,则取消选择单选按钮
考虑以下标记:
我想要做的是每当选择另一个时,如果每个.project
组中的单选按钮都禁用一个(因此只能Second choice
每个组中的First choice
或Second choice
)。 我知道怎么做是在一个特定情况下禁用一个特定的单选按钮,但我不知道如何概括它,因为它们可能是一百个这样的.project
组。
编辑 :请注意,只能First choice
整个First choice
(反之亦然)。 该名称已经使用了相同的名称。 在整个标记中使用相同的name
属性。 只有两个不同的name
。
只需给它们相同的name
但不同的value
; 这将自动发生,因为这是单选按钮的设计方式。
您必须在所有单选按钮上收听更改事件。 当其中任何一个发生变化时,您将检查它是否被检查。 如果是,那么您将取消选中该.project
所有其他单选按钮:
$('input[type=radio]').change(function() { if (this.checked) { $(this).closest('.project') .find('input[type=radio]').not(this) .prop('checked', false); } });
如果您为一组单选按钮指定相同的name
,则只要您单击它们,它们就会自动检查/取消选中。 但是对于每个没有标记的单选按钮,ID应该是唯一的。 看看这个工作演示,我希望这是你正在寻找的。
工作演示
您只需对组中的所有按钮使用相同的名称。 然后浏览器自动禁用。
$(function(){ if($(this).attr('checked')==true) { $('.project').not(this).attr('checked',false); } });
您只需对组中的所有按钮使用相同的名称。 然后浏览器自动禁用。
如果你愿意,你可以改变不同值的id