多字段中的复选框侦听器问题

时间:2015-07-28 12:17:37

标签: javascript jquery cq5 aem

我有一个多字段组件,每个项目都有一个复选框。我正在添加一个监听器,以便在选中一个复选框时,应自动取消选中所有其他复选框。我正在用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;
     }
    }
   });
 }

提前致谢

2 个答案:

答案 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');
  }
 });
});