2015-05-13 58 views
1

所以,我的工作嘰嘰喳喳typeahead.js劇本,但注意到,有時(其中某些關鍵字),它顯示了從JSON並不是所有的結果:顯示事先鍵入的內容從JSON不是所有的項目

一個案件: 在哪裏在這3個對象接收JSON,但搜索表單返回僅第一個:

[ 
{ 
"query":"David Flanagan - JavaScript", 
"id":"7", 
"image":"\u003Cimg src=\u0022http:\/\/bks5.books.google.lt\/books\/content?id=4RChxt67lvwC\u0026printsec=frontcover\u0026img=1\u0026zoom=1\u0026edge=curl\u0026source=gbs_api\u0022\u003E" 
}, 
{ 
"query":"Stoyan Stefanov - JavaScript Patterns", 
"id":"10", 
"image":"\u003Cimg src=\u0022http:\/\/bks8.books.google.lt\/books\/content?id=ZEmbAgAAQBAJ\u0026printsec=frontcover\u0026img=1\u0026zoom=1\u0026source=gbs_api\u0022\u003E" 
}, 
{ 
"query":"Douglas Crockford - JavaScript: The Good Parts", 
"id":"9", 
"image":"\u003Cimg src=\u0022http:\/\/ecx.images-amazon.com\/images\/I\/518QVtPWA7L._SL160_.jpg\u0022\u003E" 
} 
] 

搜索表單結果:

http://i.imgur.com/PjLOrFt.png

我的打字腳本:

$(document).ready(function() { 
    var books = new Bloodhound({ 
     datumTokenizer: Bloodhound.tokenizers.obj.whitespace, 
     queryTokenizer: Bloodhound.tokenizers.whitespace, 
     remote: { 
      url: '/search/auto/?q=%QUERY', 
      wildcard: '%QUERY', 
     } 
    }); 

    $('#books_search').typeahead({ 
      hint: true, 
      highlight: true, 
      minLength: 3, 
      limit: 5 
     }, 
     { 
      name: 'book-search', 
      display: 'query', 
      source: books, 
      templates: { 
       empty: [ 
        '<div class="empty-message">Unable to find any books that match the current query</div>' 
       ] 
      } 
     }).on('typeahead:selected', function(e, data) { 
      $("#search-form").submit(); 
     }); 
}); 

任何想法可能會出錯?

+0

沒有ü嘗試使用此datumTokenizer:Bloodhound.tokenizers.obj.whitespace(「查詢」), – sakir

回答

0

難道ü嘗試使用此 datumTokenizer:Bloodhound.tokenizers.obj.whitespace("query"); (我用的本地數據,而不是遠程但兩部作品一樣) 這裏是演示環節的正常工作 http://jsfiddle.net/7q3xk10y/

相關問題