AirScout/AirScout/wwwroot/dashboard/assets/extra-libs/multicheck/jquery.multicheck.js

34 wiersze
1.1 KiB
JavaScript

(function ($) {
$.fn.multicheck = function ($checkboxes) {
$checkboxes = $checkboxes.filter("input[type=checkbox]");
if ($checkboxes.length > 0) {
this.each(function () {
var $this = $(this);
$this.click(function () {
$checkboxes.prop("checked", this.checked);
$this.trigger(
this.checked ? "multicheck.allchecked" : "multicheck.nonechecked"
);
});
$checkboxes.on("click change", function () {
var checkedItems = $checkboxes.filter(":checked").length;
if (checkedItems == 0) {
$this[0].indeterminate = false;
$this[0].checked = false;
$this.trigger("multicheck.nonechecked");
} else if (checkedItems == $checkboxes.length) {
$this[0].indeterminate = false;
$this[0].checked = true;
$this.trigger("multicheck.allchecked");
} else {
$this[0].checked = false;
$this[0].indeterminate = true;
$this.trigger("multicheck.somechecked");
}
});
});
}
return this;
};
})(jQuery);