全选多选/checkbox二级联动多选

本文由清尘发表于2017-09-12 17:01属于jQuery分类

点击查看示例

js代码:

$.fn.cartCheck = function(options){
	var defaults = {
		ckinput:".ckinput",
		ckallbtn:".ckall",
		hasChild:false,
		hasParents:false,
		eleParents:''
	};
	var opts = $.extend(defaults,options);

	var cartCheckBox = this,
		ckall_input = cartCheckBox.find(opts.ckallbtn),
		ck_input = cartCheckBox.find(opts.ckinput),
		ck_input_num = ck_input.length;

		ckall_input.bind('change',function(){
			var ck_on = $(this).prop('checked');
			if(ck_on){
				ck_input.prop('checked',true);
				if(opts.hasChild){ck_input.trigger('change')};
				
			}else{
				ck_input.prop('checked',false);	
				if(opts.hasChild){ck_input.trigger('change')};
			}
			
		})
	
		cartCheckBox.delegate(opts.ckinput,'change',function(){
			var ckel_num = cartCheckBox.find(opts.ckinput+':checked').length;
			if(ckel_num == ck_input_num){
				ckall_input.prop('checked',true);
				if(opts.hasParents){ckall_input.trigger('change')};
			}else{
				ckall_input.prop('checked',false);
				if(opts.hasParents){
					var ck_parBtn = $(opts.eleParents);
					ck_parBtn.prop('checked',false);

				};	
			}

		})
	
	
	

}