使用typeahead.js预取过滤器(使用基本选项)

Using Prefetch Filter with typeahead.js (Using basic options)

本文关键字:选项 typeahead js 预取 过滤器 使用      更新时间:2023-09-26

我使用typeahead.js。我正在使用预取选项,需要解析返回的数据。它不会抛出错误;它什么也没做。我找了一些例子,但没有一个使用Prefetch Filter选项。

预取文档链接

我的代码(不工作,但没有抛出错误):

$('#autocomplete').typeahead('destroy').typeahead( {                                
    name: 'organizations',
    prefetch: {
        url: 'jsoncall',
        filter: function() {
                        // Blatant hardcoded return value
                        return ['test-a','test-b','test'c];
                      }
        }
    }
);

My HTML:

<input id="autocomplete" class="large-12" autocomplete="off" type="text" placeholder="Enter school name">

我的困惑:

0________0

您可以通过filter函数传递返回的数据,然后该函数会根据您的喜好解析数据。在上面的例子中,你可以这样做:

$('#autocomplete').typeahead({                                
    name: 'organizations',
    prefetch: 
            {
        url: 'jsoncall',
        filter: function(data){
               // filter the returned data
               return [data.movies[0].title, data.movies[1].title, data.movies[2].title];
        }
    }
}
);

如果返回的数据集是一个JSON对象,上面的例子可以工作,看起来像这样:

movies: [{id:12865, title:Kill Bill: Volume 1, year:2003, mpaa_rating:R, runtime:111,…},…]
0: {id:12865, title:Kill Bill: Volume 1, year:2003, mpaa_rating:R, runtime:111,…}
1: {id:12862, title:Kill Bill, Volume 2, year:2004, mpaa_rating:R, runtime:137,…}
2: {id:771237417, title:Kill Bill: The Whole Bloody Affair, year:2011,     mpaa_rating:Unrated, runtime:,…}
3: {id:770998578, title:Angel of Death: Killer Nurse: A Bill Kurtis Special Report, year:2006,…}
4: {id:771352617, title:Kedi Billa Killadi Ranga, year:2013, mpaa_rating:Unrated, runtime:145,…}
total: 5