Поиск нескольких значений в строке Jquery / Javascript - PullRequest
1 голос
/ 10 января 2011

У меня есть три строки категорий

  1. "SharePoint, Azure, IT";
  2. "BizTalk, Finance";
  3. "SharePoint, Finance";

Мне нужно найти способ проверить, содержит ли строка, например, «SharePoint» и «IT», или «BizTalk» и «Finance».Тесты - это отдельные строки.

Как бы я перебрал все строки категории (1 - 3) и вернул бы только те, которые имеют ВСЕ экземпляры источника.

Я попробовалследующие

            function doesExist(source, filterArray)
        {
            var substr = filterArray.split(" ");

            jQuery.each(substr, function() {
                var filterTest = this;                              
                if(source.indexOf(filterTest) != -1 )
                {                       
                    alert("true");
                    return true;
                }else
                {   
                    alert("false");
                    return false;           
                }                                       
            });
        }

с небольшим успехом ... код выше проверяет по одному, а не оба, поэтому возвращаемые результаты неверны.Любая помощь будет отличной.

Спасибо

Крис

ОБНОВЛЕНИЕ: вот ссылка на версию в процессе разработки .. http://www.invisiblewebdesign.co.uk/temp/filter/#

Ответы [ 2 ]

4 голосов
/ 10 января 2011

Попробуйте это:

function doesExist(source, filter)
{
    var sourceArray = source.split(",");
    var filterArray = filter.split(",");

    var match = true;
    $.each(filterArray, function(i, val) {
         match = match && ($.inArray(val, sourceArray) != -1);
    });
    return match;
}

дает doesExist("SharePoint,Azure,IT", "SharePoint,IT")==true, но doesExist("SharePoint,Azure,IT", "SharePoint,BizTalk")==false.

0 голосов
/ 10 января 2011

вы можете попробовать что-то вроде:

if(filterArray.indexOf("SharePoint") > -1 && filterArray.indexOf("IT") > -1) {
...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...