jQuery Tokeninput无法识别单词的首字母

时间:2012-05-19 11:51:52

标签: php jquery jquery-tokeninput

我正在使用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"}]

我到处搜寻并尝试了我能想到的一切 - 但无济于事。你知道什么是错的吗?

1 个答案:

答案 0 :(得分:0)

我得到了它,但我不知道为什么。基本上,我用preg_match切换了strpos。现在它有效。