Javascript 推特不起作用

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

我第一次使用twitter typeahead

我的json格式如下:

[{"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