Select All Checkboxs

Select all checkboxs by press Ctrl+Alt+mouse1,Or select checkboxs with mouse over by press Alt,Or select checkbox between 2 marks by press Shift

Verzia zo dňa 12.10.2016. Pozri najnovšiu verziu.

Na nainštalovanie skriptu si budete musieť nainštalovať rozšírenie, ako napríklad Tampermonkey, Greasemonkey alebo Violentmonkey.

Na nainštalovanie skriptu si budete musieť nainštalovať rozšírenie, ako napríklad Tampermonkey, % alebo Violentmonkey.

Na nainštalovanie skriptu si budete musieť nainštalovať rozšírenie, ako napríklad Tampermonkey, % alebo Violentmonkey.

Na nainštalovanie skriptu si budete musieť nainštalovať rozšírenie, ako napríklad Tampermonkey alebo Userscripts.

Na inštaláciu tohto skriptu je potrebné nainštalovať rozšírenie, ako napríklad Tampermonkey.

Na inštaláciu tohto skriptu je potrebné nainštalovať rozšírenie správcu používateľských skriptov.

(Už mám správcu používateľských skriptov, nechajte ma ho nainštalovať!)

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie, ako napríklad Stylus.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie, ako napríklad Stylus.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie, ako napríklad Stylus.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie správcu používateľských štýlov.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie správcu používateľských štýlov.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie správcu používateľských štýlov.

(Už mám správcu používateľských štýlov, nechajte ma ho nainštalovať!)

// ==UserScript==
// @name         Select All Checkboxs
// @name:zh-CN   多选框伴侣
// @name:zh-TW   多選框伴侶
// @namespace    hoothin
// @version      0.2
// @description  Select all checkboxs by press Ctrl+Alt+mouse1,Or select checkboxs with mouse over by press Alt,Or select checkbox between 2 marks by press Shift
// @description:zh-CN Ctrl+Alt点击全选多选框,Alt加鼠标悬浮选择多选框,Shift选择两个多选框之间的所有多选框
// @description:zh-TW Ctrl+Alt點擊全選多選框,Alt加鼠標懸浮選擇多選框,Shift選擇兩個多選框之間的所有多選框 
// @author       Hoothin
// @match        http*://*/*
// @require      http://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js
// @grant       GM_registerMenuCommand
// ==/UserScript==

(function() {
    'use strict';
    var type=navigator.appName;
    var lang = null;
    if (type=="Netscape"){
        lang = navigator.language;
    }else{
        lang = navigator.userLanguage;
    }
    var langStr = lang.substr(0,2);
    if (langStr == "zh"){
        langStr = "全选";
    }else{
        langStr = "SelectAll";
    }
    GM_registerMenuCommand(langStr, selectAll);

    function selectAll(){
        $("input:checkbox:enabled").click();
    }

    var selectObj = $("input:checkbox:enabled");
    var preObj;
    selectObj.mousedown(function (event) {
        if(!event.shiftKey&&event.altKey&&event.ctrlKey){
            selectObj.click();
            this.click();
        }else if(event.shiftKey&&!event.altKey&&!event.ctrlKey){
            var curParent=this;
            var preParent=preObj;
            for(var i=0;i<5;i++){
                curParent=curParent.parentNode;
                preParent=preParent.parentNode;
                if(!curParent||!preParent)return;
                if(curParent==preParent){
                    var target=this;
                    var find=false;
                    $(curParent).find("input:checkbox:enabled").each(function(){
                        if(this==preObj||this==target){
                            if(find){
                                find=false;
                                return;
                            }
                            find=true;
                        }else if(find){
                            this.click();
                        }
                    });
                    break;
                }
            }
        }
        preObj=this;
    });
    selectObj.mouseover(function (event) {
        if(!event.shiftKey&&event.altKey&&!event.ctrlKey){
            this.click();
        }
    });
})();