2015-09-25 64 views
0

我爲自動完成字段使用typeahead。當我使用選項遠程像這裏解釋:https://blog.twitter.com/2013/twitter-typeaheadjs-you-autocomplete-me 它顯示所有條目,而不是它應該顯示的子集。 這裏是js代碼:Typeahead 0.9.3自動完成遠程無法正常工作

<script type="text/javascript"> 
jQuery(document).ready(function(){ 
    jQuery('#palettenNummerEinlagerung').typeahead({ 
    name: 'nummer', 
    remote:'http://192.168.0.108/paletten/nummer_eingelagert' 
    }); 
}); 
</script> 

而對於JSON至極的服務器端動作要遠程recived:

public function getPalettennummerEingelagert(){ 
    $result=\DB::table('paletten') 
    ->leftJoin('einlagerungen', function ($join) { 
     $join->on('paletten.id', '=', 'einlagerungen.palette_id'); 
    }) 
    ->whereNotNull('einlagerungen.palette_id') 
    ->whereNull('einlagerungen.entahmedatum') 
    ->where('nummer', 'LIKE', '%'.\Input::get('q').'%') 
    ->select('nummer') 
    ->get(); 
    $returnArr=array(); 
    for ($i=0;$i<count($result);$i++) 
    { 
      $returnArr[]=''.$result[$i]->nummer.''; 
    } 
    return json_encode($returnArr); 
} 

回答

1

試着改變你的remoteprefetch

prefetch:'http://192.168.0.108/paletten/nummer_eingelagert' 

如上所述在this GitHub typeahead.js issue

經過深思熟慮後,我意識到它必須是 責任遠程api返回過濾結果,而不是 typeahead。因爲我使用的是靜態json數據源,所以我返回的 結果每次都應該使用預取相同。所以 關閉這個問題。

相關問題