打字推特不起作用

typeahead twitter not working

本文关键字:不起作用      更新时间:2024-05-20

我第一次使用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
        })
   })
});

如果你使用的真的是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;
    }
  }
});