(function($){
$.fn.extend({
checkboxCtrl: function(parent){
return this.each(function(){
var $trigger = $(this);
$trigger.click(function(){
var group = $trigger.attr("group");
if ($trigger.is(":checkbox")) {
var type = $trigger.is(":checked") ? "all" : "none";
if (group) $.checkbox.select(group, type, parent);
} else {
if (group) $.checkbox.select(group, $trigger.attr("selectType") || "all", parent);
}
});
});
}
});
$.checkbox = {
selectAll: function(_name, _parent){
this.select(_name, "all", _parent);
},
unSelectAll: function(_name, _parent){
this.select(_name, "none", _parent);
},
selectInvert: function(_name, _parent){
this.select(_name, "invert", _parent);
},
select: function(_name, _type, _parent){
$parent = $(_parent || document);
$checkboxLi = $parent.find(":checkbox[name='"+_name+"']");
switch(_type){
case "invert":
$checkboxLi.each(function(){
$checkbox = $(this);
$checkbox.attr('checked', !$checkbox.is(":checked"));
});
break;
case "none":
$checkboxLi.attr('checked', false);
break;
default:
$checkboxLi.attr('checked', true);
break;
}
}
};
})(jQuery);
(function($){
$.fn.extend({
checkboxCtrl: function(parent){
return this.each(function(){
var $trigger = $(this);
$trigger.click(function(){
var group = $trigger.attr("group");
if ($trigger.is(":checkbox")) {
var type = $trigger.is(":checked") ? "all" : "none";
if (group) $.checkbox.select(group, type, parent);
} else {
if (group) $.checkbox.select(group, $trigger.attr("selectType") || "all", parent);
}
});
});
}
});
$.checkbox = {
selectAll: function(_name, _parent){
this.select(_name, "all", _parent);
},
unSelectAll: function(_name, _parent){
this.select(_name, "none", _parent);
},
selectInvert: function(_name, _parent){
this.select(_name, "invert", _parent);
},
select: function(_name, _type, _parent){
$parent = $(_parent || document);
$checkboxLi = $parent.find(":checkbox[name='"+_name+"']");
switch(_type){
case "invert":
$checkboxLi.each(function(){
$checkbox = $(this);
$checkbox.attr('checked', !$checkbox.is(":checked"));
});
break;
case "none":
$checkboxLi.attr('checked', false);
break;
default:
$checkboxLi.attr('checked', true);
break;
}
}
};
})(jQuery);