簡體   English   中英

JavaScript數組未獲取數組結果

[英]Javascript array not getting the array result

HTML:

<input type="text" onblur="tournamentPrize(this.value);" placeholder="Player Number" id="player_number" name="data[Tournament][player_number]"> 

Javascript:

function tournamentPrize(v){
        var myArray=[2, 4, 8, 16, 32, 64, 128];
        var field_val = v;
        if(myArray.indexOf(field_val)==-1){ //alert(myArray.indexOf(field_val));
            if(field_val==2){
                $('#_1st_prize').removeAttr('disabled');                
                $('#_2nd_prize').attr('disabled','disabled');
                $('#_2nd_prize').val('');               
                $('#_3rd_prize').attr('disabled','disabled');
                $('#_3rd_prize').val('');
                $('#_4th_prize').attr('disabled','disabled');
                $('#_4th_prize').val('');               
                $('#rest_prize').attr('disabled','disabled');
                $('#rest_prize').val('');
            }else if(field_val==4){
                $('#_1st_prize').removeAttr('disabled');                
                $('#_2nd_prize').removeAttr('disabled');            
                $('#_3rd_prize').attr('disabled','disabled');
                $('#_3rd_prize').val('');
                $('#_4th_prize').attr('disabled','disabled');
                $('#_4th_prize').val('')
                $('#rest_prize').removeAttr('disabled');
            }else{
                           alert("You have entered "+field_val+" number");
            }
        }
        else{
            alert("You have entered wrong number"); 
        }
    }

當我輸入任何數字時,我在此字段的onblur中調用了TournamentPrize()函數,因此顯示的結果不正確。 始終顯示-1

我想輸入2、4、8、16、32、64和128時得到正確的結果。但是,如果輸入除上述數字以外的任何數字,結果也將顯示錯誤。

假設我要輸入3,警報框將變為警報(“您輸入了錯誤的號碼”); 但它顯示警報(“您輸入了3個數字”);

請有人幫我

function tournamentPrize(v){
        var myArray=[2, 4, 8, 16, 32, 64, 128];

        var field_val = +v; // convert value to number from string
        // OR var field_val = parseInt(v); OR var field_val = Number(v);

        if(myArray.indexOf(field_val) !== -1){ //entered valid value in array
            if (field_val==2) {
               ....
            } else if(field_val==4){
               .....
            } else{
               alert("You have entered "+field_val+" number");
            }
        }
        else{
            alert("You have entered wrong number"); 
        }
}

您可以使用document.getElementById onblur創建了一個JSFiddle

 function tournamentPrize(v){
    var myArray=[2, 4, 8, 16, 32, 64, 128];
    var field_val = v;
    if(myArray.indexOf(field_val)!=-1){ //alert(myArray.indexOf(field_val));
        if(field_val==2){
            $('#_1st_prize').removeAttr('disabled');                
            $('#_2nd_prize').attr('disabled','disabled');
            $('#_2nd_prize').val('');               
            $('#_3rd_prize').attr('disabled','disabled');
            $('#_3rd_prize').val('');
            $('#_4th_prize').attr('disabled','disabled');
            $('#_4th_prize').val('');               
            $('#rest_prize').attr('disabled','disabled');
            $('#rest_prize').val('');
        }else if(field_val==4){
            $('#_1st_prize').removeAttr('disabled');                
            $('#_2nd_prize').removeAttr('disabled');            
            $('#_3rd_prize').attr('disabled','disabled');
            $('#_3rd_prize').val('');
            $('#_4th_prize').attr('disabled','disabled');
            $('#_4th_prize').val('')
            $('#rest_prize').removeAttr('disabled');
        }else{
                       alert("You have entered "+field_val+" number");
        }
    }
    else{
        alert("You have entered wrong number"); 
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM