2012-05-19 43 views
1

我使用jQuery Tokeninput自動完成插件單詞的第一個字母,我使用服務器端腳本來獲取所有結果。當我使用Tokeninput-Demo中的php腳本嘗試它時,它工作正常。但是,當我使用我的PHP腳本作爲源時,它不會識別單詞的第一個字母。例如,如果我正在搜索「Marc Fisher」,並且輸入「Marc」,但它找不到任何內容,但是當我輸入「arc」時,它就會起作用。姓氏也是如此。jQuery的Tokeninput不會<a href="http://loopj.com/jquery-tokeninput/" rel="nofollow">http://loopj.com/jquery-tokeninput/</a></p> <p>我已經建立了它變成我的應用程序識別

這裏是我的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鍵入「三月」,那麼它的工作原理和輸出:

[{"name":"Marc Fisher"}] 

我到處搜索並嘗試了所有我能想到的 - 但無濟於事。你知道什麼是錯的嗎?

+0

我得到它的工作,但我不知道爲什麼。 基本上,我用preg_match交換了strpos。現在它工作 –

+0

正則表達式錨定?唯一想到爲什麼這種改變可能會有所作爲的是,如果查詢參數填充空白,或者如果有案例問題,並且'preg_match'不區分大小寫。順便說一句,如果你只是做線性整數索引,你不需要在你的數組中手動​​指定它們。 – JMM

+1

我也有過這個第一個字母的問題,當我在Rails中使用令牌輸入時就發生了。仍然希望從某個地方得到明確的解釋。 – dmonopoly

回答

0

我得到它的工作,但我不知道爲什麼。基本上,我用preg_match交換了strpos。現在它可以工作。

相關問題

 相關問題