jQuery inArray не работает

0

при моей проверке обязательные поля могут меняться. У меня есть массив (обязательно) входных идентификаторов, которые требуются. Если массив содержит строку "Все", тогда требуются все входы.

Я пытаюсь использовать 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 

Почему это не работает?

Теги:

3 ответа

11
Лучший ответ

Вы переносите свои значения и параметры массива, например:

jQuery.inArray('All', required);
1

Вы вызываете неправильный jQuery.inArray. Сначала идет значение, а затем массив

см. http://api.jquery.com/jQuery.inArray/

записывать

jQuery.inArray('All', required);

вместо

jQuery.inArray(required, 'All');
0

потому что этого не required в All

Вы напишете, как показано ниже.

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

Справка

Ещё вопросы

Сообщество Overcoder
Наверх
Меню