2012-03-12 48 views
-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 2012-03-12 13:20:04

+0

另外,标签有什么用? – Dogbert 2012-03-12 13:20:48

+0

啊,我的错误。更新。 – Trip 2012-03-12 13:22:28

回答

3

空间问题[未经测试]

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


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

天才佩德罗。非常感谢! – Trip 2012-03-12 13:29:00

+0

感谢@Dogbert修复布局。 – 2012-03-12 13:31:03

1

中有YOUT输入昏迷后的空间。 所以只找到第一个值。

您必须在分割字符串后修剪值。

Trim string in JavaScript?有关如何修剪的更多信息。