0

私の検証では、必須フィールドが変更される可能性があります。必要な入力 IDの配列 ( required ) があります。配列に文字列 'All' が含まれている場合、すべての入力が必要です。

必要かどうかを判断するために JQuery.inArray() を使用しようとしています。

function getIfRequired(id){
    console.log("id: "+id);
    console.log(required);
    console.log("inarray: "+jQuery.inArray(required, 'All'));

    if (jQuery.inArray(required, 'All') > -1){ return true; }
    else if(jQuery.inArray(required, id) != -1){ return true; }
    else{ return false; }
}

しかし、「-1」(見つかりません)を返し続けます。

ログ出力の例を次に示します。

id: clientname
["clientname", "sourceid", "clientcountry","clienttown", "clienttownid", "typeoflaw"] 
inarray: -1 

id: clientname
["All"] 
inarray: -1 

なぜ機能しないのですか?

4

3 に答える 3

11

値と配列パラメータが転置されています。たとえば、次のようになります。

jQuery.inArray('All', required);
于 2013-09-20T11:05:09.093 に答える
1

あなたは間違って電話しますjQuery.inArray。最初に値、次に配列

http://api.jquery.com/jQuery.inArray/を参照してください。

書きます

jQuery.inArray('All', required);

それ以外の

jQuery.inArray(required, 'All');
于 2013-09-20T11:09:52.333 に答える
0

requiredに見つからないためAll

以下のように書きます

 console.log("inarray: "+jQuery.inArray('All', required));

参照

于 2013-09-20T11:05:13.337 に答える