【问题标题】:How to use typeahead wildcard如何使用预输入通配符
【发布时间】:2016-06-08 20:18:16
【问题描述】:

我第一次尝试使用预输入。我想根据用户输入更新 url 参数。未翻译通配符,正在将值“QUERY”发送到远程服务器。

任何帮助将不胜感激:)

 myTypeahead = $('.typeahead').typeahead(
  {
    hint: true,
    highlight: true,
    minLength: 1
  },
  {
    name: 'addresses',
    source: addressResults = new Bloodhound({
      datumTokenizer: Bloodhound.tokenizers.whitespace,
      queryTokenizer: Bloodhound.tokenizers.whitespace,
      remote: {
              url:'https://urlpath/Search?query=%QUERY&country=GBR',            
              wildcard: '%QUERY',
              filter: function (data) {      
                  // Map the remote source JSON array to a JavaScript object array
                  return $.map(data.results, function(results,index) {  
                      return results.suggestion;
                  });
              },
              prepare: function (query, settings) {
                    settings.headers = {
                        'Auth-Token' : '1212'
                    };
                    return settings;
              }
       }
    })
  }
  ).on('keyup');

【问题讨论】:

    标签: twitter-bootstrap twitter typeahead bloodhound


    【解决方案1】:

    使用prepare时,需要手动处理通配符值。见documentation for remote

    例如:

     prepare: function(query, settings) {
        settings.url += '?q=' + query;
        return settings;
      },
    

    这里是associated fiddle

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-20
      • 1970-01-01
      • 2011-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多