Этот цикл совпадает только один раз и заканчивается. Как мне вернуть несколько матчей? - PullRequest
0 голосов
/ 12 марта 2012

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

Кто-нибудь знает, почему это возвращается только один раз?

var arr1 = $("li a");
var arr2 = $("input").attr('value').split(',');
$.each(arr1, function(i, val) {
  if ($.inArray($(val).html(), arr2) !== -1) {
    // alert('You got a match!')
  }
});

Соответствующий HTML-код:

<input value="Bob Marley, Bob Hanson, Bob Smith" />
<li><a href=#">Bob Marley</a></li>
<li><a href=#">Jeff CookieMonster</a></li>
<li><a href="#">Bob Hanson</a></li>

Ответы [ 2 ]

3 голосов
/ 12 марта 2012

Проблема с пробелами [не проверено]

"Bob Marley, Bob Hanson, Bob Smith" splitted by "," 


= [ "Bob Marley", "_Bob Hanson", "_Bob Smith" ]
1 голос
/ 12 марта 2012

Пробел после запятой в вашем вводе. Таким образом, найдено только первое значение.

Вы должны обрезать значения после разбиения строки.

Обрезать строку в JavaScript? для получения дополнительной информации о том, как обрезать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...