您需要一种简单的方法来选择其他单选按钮。从您的描述中听起来,具有相同标签的所有单选按钮的值也将具有相同的值,因此您可以选择它。
将您的单选按钮分组到具有共享类的 div 中:
<div class="rating">
<input type="radio" name="group1" value="1" />1
<!-- more radio buttons -->
</div>
<div class="rating">
<input type="radio" name="group2" value="1" />1
<!-- more radio buttons -->
</div>
<!-- more radio button groups -->
您现在可以选择其他单选按钮组并禁用所有具有相同值的单选按钮:
$("input:radio").click(function() {
var $this = $(this);
var value = $this.val();
$this.closest('.rating') # Parent div
.siblings('.rating') # All the sibling divs, not this group
.find('input:radio[value="' + value + '"]') # All radio buttons with the same value
.attr("disabled","disabled");
});
或者,您可以使用not
过滤器从组中删除当前输入选择器:
$("input:radio").click(function() {
var $this = $(this);
var value = $this.val();
$('input:radio[value="' + value + '"]') # All radio buttons with the same value
.not(this) # Explicitly remove the current radio button
.attr("disabled","disabled");
});