Typeahead.js仅提供前5个结果



我只想在" value"中的JSON文件中搜索,但是我只能到达前5个结果。无论是输入什么,每次都会产生相同的结果。

我的代码是:

$(function() {
      var search_url = 'https://twitter.github.io/typeahead.js/data/films/post_1960.json';
      var search_input = $("#prefetch input.typeahead");
      var search = new Bloodhound({
        datumTokenizer: Bloodhound.tokenizers.obj.whitespace('value'),
        queryTokenizer: Bloodhound.tokenizers.whitespace,
        prefetch: search_url,
        remote: {
          url: search_url + '?%QUERY.json',
          wildcard: '%QUERY'
        }
      });
      $('#prefetch .typeahead').typeahead(null, {
        name: 'search',
        display: 'value',
        displayKey: 'value',
        source: search.ttAdapter()
      });
    }); 

JSON结构:

[{
    "year": "1961",
    "value": "West Side Story",
    "tokens": [
      "West",
      "Side",
      "Story"
    ]
  },
  {
    "year": "1962",
    "value": "Lawrence of Arabia",
    "tokens": [
      "Lawrence",
      "of",
      "Arabia"
    ]
  },
  {
    "year": "1963",
    "value": "Tom Jones",
    "tokens": [
      "Tom",
      "Jones"
    ]
  }]

这也是JSFIDDLE示例。

有可能使它起作用?

您正在使用错误的URL搜索。来自http://twitter.github.io/typeahead.js/examples/

remote: {
  url: '../data/films/queries/%QUERY.json',
  wildcard: '%QUERY'
}

更改

url: search_url + '?%QUERY.json',

to

url: 'https://twitter.github.io/typeahead.js/data/films/queries/%QUERY.json'

最新更新