var flag = true;//true代表此时为全选功能,false代表此时为全不选功能
var switchTo = function (type) {
if (type) {
selectAllLabel.show();
deselectAllLabel.hide();
flag = true;
} else {
selectAllLabel.hide();
deselectAllLabel.show();
flag = false;
}
selectAll.prop('checked', false);
var toggleFunc = function () {
if (flag) {
langs.prop('checked', true);
switchTo(false);
langs.prop('checked', false);
switchTo(true);
var invertFunc = function () {
var shouldChangeToSelectAll = true;//判断全不选时 是否全选了选项 反转时就要切换为全选功能
var shouldChangeToDeselectAll = true;//判断全选时,是否全不选选项 反转时就要切换为全不选功能
langs.map(function () {
var tmp = $(this).prop('checked');
if (!tmp) {
shouldChangeToSelectAll = false;
shouldChangeToDeselectAll = false;
$(this).prop('checked', !tmp);
return this;
});
if (!flag && shouldChangeToSelectAll) {
if (flag && shouldChangeToDeselectAll) {
};
var langsFunc = function () {
var shouldChange = true;//判断全选功能下是否要切换为全不选功能或者全不选功能切换为全选功能
return $(this).prop('checked') ? true : shouldChange = false;
if (shouldChange) {
if (!flag && !shouldChange) {
selectAll.click(toggleFunc);
invertSelect.click(invertFunc);
langs.click(langsFunc);
Sign in to make a reply
Cool
var flag = true;//true代表此时为全选功能,false代表此时为全不选功能
var switchTo = function (type) {
if (type) {
selectAllLabel.show();
deselectAllLabel.hide();
flag = true;
} else {
selectAllLabel.hide();
deselectAllLabel.show();
flag = false;
}
selectAll.prop('checked', false);
}
var toggleFunc = function () {
if (flag) {
langs.prop('checked', true);
switchTo(false);
} else {
langs.prop('checked', false);
switchTo(true);
}
}
var invertFunc = function () {
var shouldChangeToSelectAll = true;//判断全不选时 是否全选了选项 反转时就要切换为全选功能
var shouldChangeToDeselectAll = true;//判断全选时,是否全不选选项 反转时就要切换为全不选功能
langs.map(function () {
var tmp = $(this).prop('checked');
if (!tmp) {
shouldChangeToSelectAll = false;
} else {
shouldChangeToDeselectAll = false;
}
$(this).prop('checked', !tmp);
return this;
});
if (!flag && shouldChangeToSelectAll) {
switchTo(true);
}
if (flag && shouldChangeToDeselectAll) {
switchTo(false);
}
};
var langsFunc = function () {
var shouldChange = true;//判断全选功能下是否要切换为全不选功能或者全不选功能切换为全选功能
langs.map(function () {
return $(this).prop('checked') ? true : shouldChange = false;
});
if (shouldChange) {
switchTo(false);
}
if (!flag && !shouldChange) {
switchTo(true);
}
};
selectAll.click(toggleFunc);
invertSelect.click(invertFunc);
langs.click(langsFunc);