2013-07-23 160 views
2

選擇二無限滾動我使用selct2和我加載使用Ajax的一些數據。結果不受限制,但我必須做出無限滾動。一些想法?沒有限制的結果

我有這樣

{"len":30,"data":[{"value":"223118","type":1,"name":"Peter","language":3}, 
{"value":"223118","type":1,"name":"John","language":2}, 
{"value":"223118","type":2,"name":"Mike","language":1}, 
{"value":"223118","type":1,"name":"George","language":3} 
.... 
]} 

一個JSON和我使用的是非標準選擇2功能爲AJAC加載:

$(selector).select2({ 
     placeholder: "Search", 
     minimumInputLength: 1, 
     id: function(bond){return {id: bond._id};}, 
     ajax: { 
      //url: $("#area-of-operating_0").attr('data-url'), 
      url: 'myurl', 
      dataType: 'json', 
      quietMillis: 100, 
      data: function (term, page) { 
       return { 
        page_limit: 10, // page size 
        page: page // page number 
        //q: term 
       }; 
      }, 

      results: function (data, page) { 
       var more = (page * 10) < data.total; 
       return {results: data.data, more: more} 
      } 
     }, 

     formatResult: selectFormatResult, // see example 
     formatSelection: selectFormatSelection 
}) 

的問題是,JSON可以與1000元。我想使無限滾動10個元素

+0

提供代碼好友 – dreamweiver

+0

我想你可以做一個ajax調用會有一些限制,並基於滾動你可以調用再次使ajax調用一些更多的值 – dreamweiver

+0

不,我沒有訪問服務器端。 – qwedsa

回答

1

這是不可能只使用select2作爲demo

提及爲了使遠程服務必須支持某種分頁機制的...

如果服務器端不支持分頁,則無法啓用無限滾動。

你可以做的是挽救整個JSON在一些JS變量在第一次請求。然後,當用戶向下滾動時,您可以順序地從局部變量中獲得更多結果。這是你的選擇嗎?