簡體   English   中英

Bootstrap Twitter typeahead不會顯示所有項目

[英]Bootstrap Twitter typeahead shows not every item

我從REST得到一個json(帶有頁面標題+ url)

我的問題是,下拉列表僅顯示包含我搜索的單詞的項目(例如,我搜索“ google ”,我的REST給我提供了帶有“ google ”和“ g-mail ”的json,但下拉列表僅顯示“ google ”)

當我alert()匹配變量時,我得到例如“ google ”和“ g-mail ”(所以json是正確的!)

$(function(){

    var obj = {};
    var matches = [];

    $(".typeahead").typeahead({
        source: function ( str, c ) {


            $.ajax({
                url:'http://QUERYURL' + str +'EXAMPLE',

                dataType: 'json',
                cache: false,
                success: function(data){

                    obj = {};
                    matches = [];

                    _.each( data.results, function(item){
                        matches.push( item.title );
                        obj[ item.title ] = "https:/"+item.url;
                    });

                    c(matches);
                }
            });
        },
        updater: function ( selectedName ) {

            url = obj[ selectedName ];
            window.open(url);
            return selectedName;
        }
    });
});

據我了解,預輸入將僅顯示源JSON中與鍵入字符匹配的項。

即,如果您輸入"g-"我想它只會顯示"g-mail"而不是"google"

這就是這種預輸入的工作方式。

您應該一次檢索所有可能的條目,並讓該typeahead處理該源列表,而不是每次都獲取一個子集?

使用匹配器。

代碼就像

matcher: function (item) {
                return true;
            }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM