在多选问题中,如果选中最后一个复选框("以上都不是"),如何取消选中所有选定的选项(如果有)?
答案 0 :(得分:2)
这取决于你的html结构,但我可以举个例子
$('input').change(function() {
var $el = $(this);
if ($el.attr('id') == 'none' && $el.prop('checked')) {
$('input').not($el).prop('checked', false);
} else {
$('#none').prop('checked', false);
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
<input id="op1" type="checkbox" /><label for="op1">Option 1</label>
<input id="op2" type="checkbox" /><label for="op2">Option 2</label>
<input id="op3" type="checkbox" /><label for="op3">Option 3</label>
<input id="op4" type="checkbox" /><label for="op4">Option 4</label>
<input id="op5" type="checkbox" /><label for="op5">Option 5</label>
<input id="none" type="checkbox" /><label for="none">None</label>
</div>
答案 1 :(得分:0)
您可以在所有复选框上应用公共类名,然后使用以下代码:
$('.checkboxCSS').click(function(){
if($(this).attr('id') == 'none')
$('.checkboxCSS').not(this).attr('checked', false);
});
答案 2 :(得分:0)
您可以获得以下代码的帮助:
小提琴链接:http://jsfiddle.net/sqz75b9g/12/
<强> HTML:强>
<div class="row">
<input type="checkbox" class="selectanswer"/>select 0
<input type="checkbox" class="selectanswer"/>select 1
<input type="checkbox" class="selectanswer"/>select 2
<input type="checkbox" class="selectanswer"/>select 3
<input type="checkbox" class="selectanswer"/>None of the above
</div>
<强>使用Javascript:强>
$(document).ready(function(){
$(".selectanswer").click(function(){
var currentParent = $(this).closest(".row");
var checkboxGroup = $(currentParent).find(".selectanswer");
if($(this).prop("checked") && $(this).index() == checkboxGroup.length-1)
{
$(checkboxGroup).not(this).prop('checked', false);
}
else
{
$(checkboxGroup).eq(checkboxGroup.length-1).prop('checked', false);
}
});
});
答案 3 :(得分:0)
我就是这样做的:
$("[name='none']").click(function(){
if($(this).attr('checked')=="checked"){
$(this).siblings().attr('checked', false);
}
});