【问题标题】:Typeahead 0.9.3 autocomplete remote doesn't work properlyTypeahead 0.9.3 自动完成遥控器无法正常工作
【发布时间】:2015-09-25 10:57:27
【问题描述】:

我正在为自动完成字段使用预先输入。当我使用这里解释的选项远程时:https://blog.twitter.com/2013/twitter-typeaheadjs-you-autocomplete-me 它显示所有条目,而不是它应该显示的子集。 这是js代码:

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

以及应该远程接收的 JSON 的服务器端操作:

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);
}

【问题讨论】:

    标签: javascript autocomplete laravel-5 typeahead.js


    【解决方案1】:

    尝试将您的 remote 更改为 prefetch

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

    this GitHub typeahead.js issue中所述:

    在考虑了更多之后,我意识到它必须是 远程 api 返回过滤结果的责任,而不是 提前输入。由于我使用的是静态 json 数据源,因此我返回了 每次应该使用预取的结果都是相同的。所以 关闭此问题。

    【讨论】:

      猜你喜欢
      • 2011-09-16
      • 2014-05-18
      • 2018-04-18
      • 2020-10-12
      • 2018-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多