[英]Tokenfield for Bootstrap with Twitter Typeahead shows object in suggestions instead of value
[英]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.