javascript switch语句不起作用

1 javascript case switch-statement

嗨,我有一个switch语句,它在9或更少的情况下工作正常,如下所示

    function checkBoxes(obj) {
            var indx = obj.id.substring(obj.id.length-1, obj.id.length);
            switch ( indx ) {
                case '1':

                    if (document.sportsInfo.Info_1.checked) {

                        document.sportsInfo.Info_2.disabled = true;
                        document.sportsInfo.Info_2.checked = false;                     
                        document.sportsInfo.Info_3.disabled = true;
                        document.sportsInfo.Info_3.checked = false;
                        document.sportsInfo.Info_4.disabled = true;
                        document.sportsInfo.Info_4.checked = false;
                        document.sportsInfo.Info_5.disabled = true;
                        document.sportsInfo.Info_5.checked = false;
                        document.sportsInfo.Info_6.disabled = true;
                        document.sportsInfo.Info_6.checked = false;
                        document.sportsInfo.Info_7.disabled = true;
                        document.sportsInfo.Info_7.checked = false;
                        document.sportsInfo.Info_8.disabled = true;
                        document.sportsInfo.Info_8.checked = false;
                        document.sportsInfo.Info_9.disabled = true;
                        document.sportsInfo.Info_9.checked = false;
                        document.sportsInfo.Info_10.disabled = true;
                        document.sportsInfo.Info_10.checked = false;
                        document.sportsInfo.Info_11.disabled = true;
                        document.sportsInfo.Info_11.checked = false;
                        document.sportsInfo.Info_12.disabled = true;
                        document.sportsInfo.Info_12.checked = false;
                    } 
                    else {
                        document.sportsInfo.Info_2.disabled = false;
                        document.sportsInfo.Info_3.disabled = false;    
                        document.sportsInfo.Info_4.disabled = false;
                        document.sportsInfo.Info_5.disabled = false;
                        document.sportsInfo.Info_6.disabled = false;
                        document.sportsInfo.Info_7.disabled = false;
                        document.sportsInfo.Info_8.disabled = false;    
                        document.sportsInfo.Info_9.disabled = false;
                        document.sportsInfo.Info_10.disabled = false;
                        document.sportsInfo.Info_11.disabled = false;
                        document.sportsInfo.Info_12.disabled = false;
                    }
                    break;
Run Code Online (Sandbox Code Playgroud)

但当它达到10或更高的情况时,它根本不起作用:

    case '10':
                    if (document.sportsInfo.Info_10.checked) {
                        document.sportsInfo.Info_1.disabled = true;
                        document.sportsInfo.Info_1.checked = false;
                        document.sportsInfo.Info_2.disabled = true;
                        document.sportsInfo.Info_2.checked = false;                     
                        document.sportsInfo.Info_3.disabled = true;
                        document.sportsInfo.Info_3.checked = false;
                        document.sportsInfo.Info_4.disabled = true;
                        document.sportsInfo.Info_4.checked = false;
                        document.sportsInfo.Info_5.disabled = true;
                        document.sportsInfo.Info_5.checked = false;
                        document.sportsInfo.Info_6.disabled = true;
                        document.sportsInfo.Info_6.checked = false;
                        document.sportsInfo.Info_7.disabled = true;
                        document.sportsInfo.Info_7.checked = false;

                        document.sportsInfo.Info_8.disabled = true;
                        document.sportsInfo.Info_8.checked = false;
                        document.sportsInfo.Info_9.disabled = true;
                        document.sportsInfo.Info_9.checked = false;

                    } 
                    else {
                        document.sportsInfo.Info_1.disabled = false;
                        document.sportsInfo.Info_2.disabled = false;
                        document.sportsInfo.Info_3.disabled = false;    
                        document.sportsInfo.Info_4.disabled = false;
                        document.sportsInfo.Info_5.disabled = false;
                        document.sportsInfo.Info_6.disabled = false;
                        document.sportsInfo.Info_7.disabled = false;

                        document.sportsInfo.Info_8.disabled = false;
                        document.sportsInfo.Info_9.disabled = false;

                    }
                    break;
Run Code Online (Sandbox Code Playgroud)

我怎样才能让大于或等于10的案件工作?

Gum*_*mbo 7

您的子字符串总是只有一个字符:

substring(obj.id.length-1, obj.id.length)
Run Code Online (Sandbox Code Playgroud)

顺便说一句:如果要禁用除选中复选框之外的所有其他复选框,可以执行以下操作:

function checkBoxes(elem) {
    if (elem.checked) {
        for (var i=1; i<=12; i++) {
            if ("Info_"+i == elem.id) continue;
            document.sportsInfo["Info_"+i].disabled = true;
            document.sportsInfo["Info_"+i].checked = false;
        }
    } else {
        for (var i=1; i<=12; i++) {
            if ("Info_"+i == elem.id) continue;
            document.sportsInfo["Info_"+i].disabled = false;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)