-3

配列内の値の重複を避けたい。

function doValidatePages(){
    var pageNumbers = new Array();

    $('.page_num').each (function () {
        if($.inArray($(this).val(), pageNumbers,0) == -1){
            if($(this).val() != '-') {
                pageNumbers = ($(this).val());
                console.log(pageNumbers)
            } else {
                alert("empty")
            }
        } else {
            alert("duplicate");
        }   
    });
}

入力例:1、1、3、1

2 番目の「1」では -1 が返されますが、3 が挿入された後、3 番目の「1」では再び -1 が返されます。

4

2 に答える 2

3

inArray()関数のパラメーターとして配列を指定する必要があります。

if($.inArray($(this).val(), pageNumbers) == -1) {
...
于 2012-11-15T17:00:06.263 に答える
0

ドキュメントを読んでください:http
: //api.jquery.com/jQuery.inArray/4行目のsecoundパラメータを通知する必要があります。

if($.inArray($(this).val(), pageNumbers ) == -1){
于 2012-11-15T17:00:47.693 に答える