我有一个多字段组件,每个项目都有一个复选框。我正在添加一个监听器,以便在选中一个复选框时,应自动取消选中所有其他复选框。我正在用jquery编写监听器。当我检查多字段中的下一个项目时,功能正常,但是,当我检查多字段项目中的上一个复选框时,它不起作用。
了解这段代码:
Check =
function(e) {
$("input[name='./isActive']").each(function () {
if($(this).attr('id') !== e.id && $(this).attr('checked') && e.getValue() !== false) {
if (confirm('Do you want to replace Alert message?')) {
$(this).removeAttr('checked');
return;
} else {
e.setValue(false);
return;
}
}
});
}
提前致谢
答案 0 :(得分:3)
希望这可以解决您的问题 JS FIDDLE
$(document).ready(function(){
$('.multiChecks').change(function() {
if($(this).prop('checked')){
$('.multiChecks').not(this).removeAttr('checked');
}
}); });
答案 1 :(得分:2)
$(document).ready(function(){
$('.multiChecks').change(function() {
var index = $( '.multiChecks' ).index( this );
if($(this).prop('checked')){
$('.multiChecks:gt('+index+')').removeAttr('checked');
$('.multiChecks:;t('+index+')').removeAttr('checked');
}
});
});