Javascript 推特不起作用
我第一次使用twitter typeahead 我的json格式如下:Javascript 推特不起作用,javascript,jquery,bootstrap-typeahead,typeahead.js,Javascript,Jquery,Bootstrap Typeahead,Typeahead.js,我第一次使用twitter typeahead 我的json格式如下: [{"merchant_name":"Myntra"},{"merchant_name":"Adlabs imagica"},{"merchant_name":"godaam"},{"merchant_name":"Homeshop18"},{"merchant_name":"Hotels.com"}] 我将其转换为一个数组,并将其传递给typeahead函数。但这并不可怕。请帮我解决这个问题 $('#search_b
[{"merchant_name":"Myntra"},{"merchant_name":"Adlabs imagica"},{"merchant_name":"godaam"},{"merchant_name":"Homeshop18"},{"merchant_name":"Hotels.com"}]
我将其转换为一个数组,并将其传递给typeahead函数。但这并不可怕。请帮我解决这个问题
$('#search_bar').keyup(function(e){
var searched = $('#search_bar').val()
$.getJSON('<?php echo base_url();?>get_data','title='+searched,function(result){
var elements = [];
$.each(result,function(i,val){
elements.push(val.merchant_name)
})
$('#searh_bar').typeahead({
source:elements
})
})
});
$(“#搜索栏”).keyup(函数(e){
搜索变量=$(“#搜索栏”).val()
$.getJSON('get_data','title='+已搜索,函数(结果){
var元素=[];
$。每个(结果、函数(i、val){
元素推送(val.merchant_name)
})
$('searh#u bar')。请提前键入({
资料来源:要素
})
})
});
如果您使用的是twitter typeahead,那么这里至少有两个问题:
1) 您不必在每次键启动后对元素调用.typeahead()
,而应该在初始化期间调用一次
2) typeahead.js中没有source
参数
从您正在尝试做的事情来看,似乎确实需要其他东西:您希望在每次按键后查询服务器(使用remote:
),并转换结果(使用filter:
)
比如:
$('#search_bar').typeahead({
remote: {
url: '<?php echo base_url();?>get_data?title=%QUERY',
filter: function(parsedResponse) {
var elements = [];
$.each(parsedResponse, function(i, val) {
elements.push(val.merchant_name);
});
return retval;
}
}
});
$('search#u bar')。提前键入({
远程:{
url:“获取数据?标题=%QUERY”,
过滤器:函数(parsedResponse){
var元素=[];
$.each(解析响应,函数(i,val){
元素推送(val.merchant_name);
});
返回返回;
}
}
});
您的代码中有一个键入错误。$(“#searh_-bar”).typeahead({source:elements})
。它应该是搜索_-bar