typeahead.js只模仿一个结果

时间:2014-01-13 13:28:30

标签: javascript bootstrap-typeahead typeahead

任何人都可以告诉我为什么只显示一个结果?数据库返回多行。只显示第一个?

JS:

$('#searchbox').typeahead({
    limit: 10,
    minLength: 2,
    remote: {
      url: '/typeahead?s=%QUERY',

    },
    template: function (data) {
            return '<p>'+ data.name+'</p>';
        }
});

PHP(Laravel):

$input = Input::all();
$results = array();
$getshops = DB::connection('mysql')->select("SELECT id, shop FROM shops WHERE shop LIKE '%".$input['s']."%'");
foreach($getshops as $shop){
    $results[] = array('id' => $shop->id, 'name' => beautifyshops($shop->shop));
}

return Response::json($results);

1 个答案:

答案 0 :(得分:0)

使用远程过滤功能。

远程:{

            url: '/typeahead?s=%QUERY',
            filter: function(parsedResponse) {
                return _.map(parsedResponse, function(res){
                    return {
                        value: res,
                    }
                });
            }
   }

它将返回从服务器返回的所有建议。