4

JSON オブジェクトで動作させることができません。ここSOで複数の質問をフォローしましたが、どの回答も役に立ちませんでした。

$(function() {
 var items = new Bloodhound({
    datumTokenizer: Bloodhound.tokenizers.obj.whitespace('name'),
    queryTokenizer: Bloodhound.tokenizers.whitespace,
    limit: 10,
    prefetch: {
        url: 'items.json',
        filter: function(list) {
            return $.map(list, function(item) {
                return {
                    name: item.name,
                    category: item.category,
                    release: item.release,
                    id: item.id
                };
            });
        }
    }
 });

 items.initialize();

 $('.typeahead').typeahead(null, {
    name: 'items',
    displayKey: 'name',
    source: items.ttAdapter()
 });
});

JSONは次のとおりです。

[
 {"id":"4","name":"Name 1","release":"July 28, 2014","category":"Bow"},
 {"id":"1","name":"Name 2","release":"October 29, 2014","category":"Bow"},
 {"id":"13","name":"Name 3","release":"November 27, 2014","category":"Arrow"}
]
4

1 に答える 1

3

それが機能しない理由は、Typeahead の LocalStorage の使用法 (または、おそらく私がそれを悪用したためです。私たちには決してわからないでしょう) が原因でした。それをクリアするとすぐに、すぐに機能しました。

于 2014-09-27T10:00:59.817 に答える