我提到http://maxoffsky.com/code-blog/laravel-shop-tutorial-3-implementing-smart-search/在我的laravel应用程序中实现搜索功能
当我使用来自http://brianreavis.github.io/selectize.js/的远程源的javascript示例代码时,它的工作非常正常。但是当我使用它从我自己的控制器方法加载数据时,它不会填充选择菜单中的项目。
这是我的控制器方法
public function index(){
$query = e(Input::get('q',''));
if(!$query && $query == '') return Response::json(array(), 400);
$products = User::where('firstname','like','%'.$query.'%')
->orderBy('firstname','asc')
->take(5)
->get(array('talent','firstname','profilepic','username'))->toArray();
$categories = User::where('talent','like','%'.$query.'%')
->take(5)
->get(array('talent', 'firstname','username'))
->toArray();
// Merge all data into one array
$data = array_merge($products, $categories);
return Response::json(array(
'data'=>$data
));
}
我已使用以下代码
初始化了我的选择 $(document).ready(function(){
$('#searchbox').selectize({
valueField: 'name',
labelField: 'firstname',
searchField: 'firstname',
options: [],
render: {
option: function(item, escape) {
return '<div>hello</div>';
}
},
load: function(query, callback) {
if (!query.length) return callback();
$.ajax({
url: root + '/search',
type: 'GET',
dataType: 'json',
data: {
q: query
},
error: function() {
callback();
},
success: function(res) {
callback(res.data);
}
});
},
onChange: function(){
window.location = this.items[0];
}
create: false
});
});
我无法弄清楚我错过了什么
答案 0 :(得分:0)
我会考虑比较查询正常工作的示例远程服务时的数据,然后比较从控制器检索数据时的数据。我怀疑这可以让您轻松了解数据显示格式的不同之处,以及需要采取哪些步骤来更改数据。如果你仍然被卡住,你可以从这里发布结果json,我可能会给你进一步的指导,让你的他们与他们对齐。