2012-03-12 6 views
-1

私は2つの配列間の一致を検索するこの配列を持っています。問題は、1つの一致を返して完了することだけです。私はすべての試合を返すようにしたいと思います。このループは1回だけ一致し、終了します。どのようにいくつかの試合を返すのですか?

これは1回だけ返される理由は誰にも分かりますか?

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> 
+0

関連するHTMLコードを投稿してください。 – Dogbert

+0

また、タグはどうなっていますか? – Dogbert

+0

ああ私の間違い。更新しました。 – Trip

答えて

3

スペースの問題

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


= [ "Bob Marley", "_Bob Hanson", "_Bob Smith" ] 
+0

Genius Pedro。本当にありがとう! – Trip

+0

レイアウトを修正するための@Dogbertに感謝します。 –

1

はyoutは、入力中に昏睡後のスペースがあります。 最初の値だけが見つかります。

文字列を分割した後に値をトリミングする必要があります。

Trim string in JavaScript?トリミング方法の詳細については、こちらをご覧ください。

関連する問題