我正在使用http://loopj.com/jquery-tokeninput/
中的jQuery Tokeninput自动完成插件我已将其构建到我的应用程序中,并且我使用服务器端脚本来获取所有结果。当我尝试使用Tokeninput-Demo中的php脚本时,它运行正常。但是当我使用我的PHP脚本作为源时,它无法识别单词的第一个字母。例如,如果我正在搜索“Marc Fisher”并且我输入“Marc”它没有找到任何东西,但是当我输入“arc”时它会起作用。姓氏也是如此。
这是我的php脚本:
$search = $_GET['q'];
$friends = array(
0 => array('name' => 'Marc Fisher', 'id' => '111'),
1 => array('name' => 'Thomas Mann', 'id' => '222'),
2 => array('name' => 'Jon Applebaum', 'id' => '333')
);
$searched_friends = array();
foreach ($friends as $friend) {
$check = strpos($friend['name'], $search);
if ($check !== false) {
array_push($searched_friends, $friend);
}
}
echo(json_encode($searched_friends));
奇怪的是,如果我直接在GET的URL中键入“Mar”,那么它可以工作并输出:
[{"name":"Marc Fisher"}]
我到处搜寻并尝试了我能想到的一切 - 但无济于事。你知道什么是错的吗?
答案 0 :(得分:0)
我得到了它,但我不知道为什么。基本上,我用preg_match切换了strpos。现在它有效。