我有很多相同的<div class="checkbox product-option">
,其中每四个div都相互属于。
所以1-4是一个组,5-8是一组等。
是否有办法只允许选择组中的1个复选框?
我目前有这段代码,但这适用于所有复选框,而不适用于四人一组。
jQuery:
$('input[type="checkbox"]').on('change', function() {
$('input[type="checkbox"]').not(this).prop('checked', false);
});
HTML:
<div class="checkbox product-option">
<label for="addon1">
<span class="product-option-text">
<input class="checkbox-row" type="checkbox" name="addons[1]" id="addon1" onclick="prodconfrecalcsummary()">
<span class="text">Text</span>
</span>
</label>
</div>
<div class="checkbox product-option">
<label for="addon11">
<span class="product-option-text">
<input class="checkbox-row" type="checkbox" name="addons[11]" id="addon1" onclick="prodconfrecalcsummary()">
<span class="text">Text</span>
</span>
</label>
</div>
<div class="checkbox product-option">
<label for="addon12">
<span class="product-option-text">
<input class="checkbox-row" type="checkbox" name="addons[21]" id="addon1" onclick="prodconfrecalcsummary()">
<span class="text">Text</span>
</span>
</label>
</div>
<div class="checkbox product-option">
<label for="addon54">
<span class="product-option-text">
<input class="checkbox-row" type="checkbox" name="addons[54]" id="addon1" onclick="prodconfrecalcsummary()">
<span class="text">Text</span>
</span>
</label>
</div>
答案 0 :(得分:5)
如果您只想在每个组中选择一个项目,那么您应该使用单选按钮而不是复选框。然后用户将期望并理解只有一个项目是可选择的。如果您创建一系列具有相同&#34;名称&#34;的单选按钮;属性,然后浏览器将自动只允许其中一个被选中。
如果您使用复选框,那么即使您使用javascript来实现您的建议,您的用户也可能会感到困惑,因为正常使用复选框是为了允许同时选择多个项目。
答案 1 :(得分:0)
您可以使用id进行选择,然后更改您的jquery代码
$('#yourIdHere').on('change', function() {
//Whatever your code...
});
答案 2 :(得分:0)
$('input[type="checkbox"].checkbox.product-option').on('change', function() {
$('input[type="checkbox"].checkbox.product-option').not(this).prop('checked', false);
});
是相同的代码,但使用css选择器。