1
我已經創建了jquery自動完成搜索。我必須在自動填充下拉列表中加載超過1000條記錄。我想讓它改變爲第一次滾動10條記錄,一旦用戶向下滾動下一條記錄就會出現,請對我有所幫助/如何使用滾動加載自動完成數據
我已經創建了jquery自動完成搜索。我必須在自動填充下拉列表中加載超過1000條記錄。我想讓它改變爲第一次滾動10條記錄,一旦用戶向下滾動下一條記錄就會出現,請對我有所幫助/如何使用滾動加載自動完成數據
恐怕我無法爲你編寫整個代碼,因爲SO不是讓人們爲你的代碼工作的地方。
但是,我一定會告訴你一些你可以實現的步驟。
加載/存儲您的PHP
在一個變量中返回的所有條目。
然後,您需要綁定自動完成下拉必須刷新的事件才能加載下10個條目。例如,它可能是Down
箭頭事件。
此綁定事件必須檢查焦點元素是否爲第10個條目。保留一個變量來存儲聚焦元素的索引,該變量將在Up
或Down
箭頭上更改。
然後,如果您的焦點元素是第10個元素,並且用戶會按下Down
鍵,那麼您應該觸發自動完成search
事件。
JS
var items[] = ... //your autocomplete items cached
var focused = 1; //maintain variable to store focused element
$(input).bind("keydown", function(event) { //bind keydown event
if (event.keyCode == $.ui.keyCode.DOWN) {
++focused;
if(focused==10){
$(input).autocomplete("option","source",//items from 1-10, 11-20,... changing for each page);
$(input).autocomplete("search",searchParam);//searchParam is input content, you can filter it to get last typed word
focused=1; //Reset focused element to first
}
}
else if (event.keyCode == $.ui.keyCode.UP) {
--focused;
}
});
這僅僅是一個小樣本只是爲了顯示。您需要對其進行很多更改並添加更多以獲得您想要的。
看看這裏:http://jqueryui.com/autocomplete/#maxheight – j809
@ j809:我已經把最大高度。但我想要的只是首先加載10條記錄。一旦向下滾動就開始加載其他記錄。那種分頁 – user3786234
您是否嘗試過我的回答?工作? – j809