我有多个无线电组有多个选择限制,一个是名称属性,另一个是jQuery。对于每个无线电组,我在更改时将检查的属性设置为false,因此每组只能检查一个无线电。
HTML
<div id="radio_group">
<input type="radio" name="name" value="0"/>Name
<input type="radio" name="address" value="0"/>Address
<input type="radio" name="phone" value="0"/>Phone
</div>
<div id="radio_group">
<input type="radio" name="name" value="1"/>Name
<input type="radio" name="address" value="1"/>Address
<input type="radio" name="phone" value="1"/>Phone
</div>
的jQuery
$('#radio_group').each(function(){
var mainElement = $(this);
mainElement.children('input[type=radio]').on('change', function(){
mainElement.children('input[type=radio]').not(this).prop('checked', false);
});
});
这只适用于第一组,有任何建议吗?
编辑:
使用的类选择器而不是id:
HTML
<div class="radio_group">
<input type="radio" name="name" value="0"/>Name
<input type="radio" name="address" value="0"/>Address
<input type="radio" name="phone" value="0"/>Phone
</div>
<div class="radio_group">
<input type="radio" name="name" value="1"/>Name
<input type="radio" name="address" value="1"/>Address
<input type="radio" name="phone" value="1"/>Phone
</div>
的jQuery
$('.radio_group').each(function(){
var mainElement = $(this);
mainElement.children('input[type=radio]').on('change', function(){
mainElement.children('input[type=radio]').not(this).prop('checked', false);
});
});
答案 0 :(得分:7)
Id 's
是唯一的。您可以对任何元素使用相同的类名,但不能对多个元素使用相同的ID
<div id="radio_group" class="className">
<input type="radio" name="name" value="0"/>Name
<input type="radio" name="address" value="0"/>Address
<input type="radio" name="phone" value="0"/>Phone
</div>
<div id="radio_group" class="className">
<input type="radio" name="name" value="1"/>Name
<input type="radio" name="address" value="1"/>Address
<input type="radio" name="phone" value="1"/>Phone
</div>
$('.className').each(function(){
//write logic here
});
答案 1 :(得分:1)
HTML:
<div classs="radio_group">
<input type="radio" name="name" value="0"/>Name
<input type="radio" name="address" value="0"/>Address
<input type="radio" name="phone" value="0"/>Phone
</div>
<div class="radio_group">
<input type="radio" name="name" value="1"/>Name
<input type="radio" name="address" value="1"/>Address
<input type="radio" name="phone" value="1"/>Phone
</div>
JQuery的:
$('.radio_group').each(function(){
var mainElement = $(this);
mainElement.children('input[type=radio]').on('change', function(){
mainElement.children('input[type=radio]').not(this).prop('checked', false);
});
});
你不能重复id
答案 2 :(得分:0)
ID
是唯一标识符。因此,当使用jQuery #
选择器时,它只返回1个对象。
使用类代替它,它将起作用。
答案 3 :(得分:0)
您不能多次使用相同的ID。它不是Html投诉。您可以使用同一个班级并使用. selector
选择所有div