Javascript 数组没有得到数组结果

标签 javascript jquery arrays

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,警告框会出现 alert("You have entered wrong number"); 但它显示 alert("您输入了 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"); 
        }
}

关于Javascript 数组没有得到数组结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21251414/

相关文章:

arrays - 使用 Qt Designer 创建小部件数组?

javascript - JWPlayer No suitable players found 错误与 youtube 链接

JavaScript 帮助、表格和单选按钮

javascript - 如何通过添加按钮动态添加选择框,然后通过php将值保存在mysql中

javascript - iframe 自动调整其高度以适应内容高度

javascript - 如何使用 jQuery 异步上传文件?

java - 将数组传递给方法并搜索键仅返回 else 条件

javascript - Laravel4 通过 XMLHttpRequest2 上传文件

javascript - 如何在 Bootstrap 中自动换行

c - 堆上的多维数组 - C