如果有效,请不要开关

Flo*_*y88 0 jquery

    <input type="text" name="importo_estratto" />
    <input type="text" name="numeri_giocati" />
    <input type="submit" id="submit" name="submit" />
Run Code Online (Sandbox Code Playgroud)
$(document).ready(function() {
    $('input[name=submit]').click(function() {
        var importo_estratto = $('input[name=importo_estratto]').val();
        var numeri_giocati = $('input[name=numeri_giocati]').val();

        // ESTRATTO
        if (importo_estratto != '') {
            switch(numeri_giocati) {
                case 1: paga = 11.23; break;
                case 2: paga = 5.62; break;
                case 3: paga = 3.74; break;
                case 4: paga = 2.81; break;
                case 5: paga = 2.25; break;
                case 6: paga = 1.87; break;
                case 7: paga = 1.60; break;
                case 8: paga = 1.40; break;
                case 9: paga = 1.25; break;
                case 10: paga = 1.12; break;
            }

            /*if (numeri_giocati == 1) {
                var paga = 11.23;
            } else if (numeri_giocati == 2) {
                var paga = 5.62;
            } else if (numeri_giocati == 3) {
                var paga = 3.74;
            } else if (numeri_giocati == 4) {
                var paga = 2.81;
            } else if (numeri_giocati == 5) {
                var paga = 2.25;
            } else if (numeri_giocati == 6) {
                var paga = 1.87;
            } else if (numeri_giocati == 7) {
                var paga = 1.60;
            } else if (numeri_giocati == 8) {
                var paga = 1.40;
            } else if (numeri_giocati == 9) {
                var paga = 1.25;
            } else if (numeri_giocati == 10) {
                var paga = 1.12;
            }*/

            alert(paga);
        } else {
            var tot_estratto = 0;
        }
        return false;
    });
});
Run Code Online (Sandbox Code Playgroud)

我需要你的帮助.我不知道为什么,但IF工作和SWITCH没有.警报输出"未定义"而不是值"paga",但一切似乎都适合我.

有谁可以帮助我吗?非常感谢你

Adi*_*dil 6

使numeri_giocati数字,它被视为字符串,并且开关无法与数字匹配.您可以通过一元+运算符对其进行编号.您也可以使用parseFloat()parseInt()代替使用一元加号.

现场演示

switch(+numeri_giocati) {
                case 1: paga = 11.23; break;
                case 2: paga = 5.62; break;
                case 3: paga = 3.74; break;
                case 4: paga = 2.81; break;
                case 5: paga = 2.25; break;
                case 6: paga = 1.87; break;
                case 7: paga = 1.60; break;
                case 8: paga = 1.40; break;
                case 9: paga = 1.25; break;
                case 10: paga = 1.12; break;
            }
Run Code Online (Sandbox Code Playgroud)