簡體   English   中英

具有遠程數據加載功能的jQuery Select2:顯示選項而不是占位符

[英]jQuery Select2 with remote data loading: display options instead of placeholder

我使用Select2作為自動建議。 這意味着,我通過ajax從遠程源獲取選項。 這很完美。

現在,客戶希望在開始鍵入之前加載所有選項。 這種做法違背了自動提示的目的,但是如果他這樣想,他就會擁有它。

無論如何,我將需要在用戶開始鍵入之前顯示前50或100個元素,在第三個鍵入字符之后,Select2輸入應該再次獲取選項。

我嘗試用選項值(例如“ aa”,“ bb”和“ cc”)預填充選擇,但是它僅顯示占位符。 用戶單擊所選內容后,是否可以立即發送請求? 這也是可能的,因為遠程源可以發送回前50個結果。 如果有人能引導我朝正確的方向發展,我將不勝感激:)

如果有人遇到同樣的問題,可以快速解決:

  1. 將“ minimumInputLength”設置為0。這樣,一旦用戶打開Select2輸入元素,就會發送請求。 搜索參數當然將是一個空字符串。

  2. 在“ processResults”函數中添加允許分頁的邏輯。 返回的對象需要一個“分頁”屬性,並帶有一個名為“ loadMore”的布爾成員。 您可以在此處了解更多信息: https : //stackoverflow.com/a/29022107/430997這樣,您就啟用了無限滾動。 當然,您也需要在服務器端支持分頁結果。

  3. (可選)您可以從不同位置獲取源。 ajax選項的“ url”參數可以是一個函數。 如果要基於字符數調用不同的端點(通常要檢查,如果字符數為0),則可以在url函數中進行檢查並返回適當的端點。

這只是一種解決方法,並且僅模擬初始值。 如果有人對我的問題有真正的答案,請張貼它:)

暫無
暫無

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

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