1

我正在使用来自http://loopj.com/jquery-tokeninput/的 jQuery Tokeninput 自动完成插件

我已经将它构建到我的应用程序中,并且我正在使用服务器端脚本来获取所有结果。当我使用 Tokeninput-Demo 中的 php-script 尝试它时,它工作正常。但是当我使用我的 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"}]

我到处搜索并尝试了我能想到的一切 - 但无济于事。你知道出了什么问题吗?

4

1 回答 1

0

我让它工作,但我不知道为什么。基本上,我用 preg_match 切换了 strpos。现在它起作用了。

于 2012-05-21T10:26:31.293 回答