我有一個當前正常運行的輸入,正確地搜索JSON數組,並顯示基於選擇什麼的內容。不過,我正在嘗試向搜索工具添加功能,以允許其接受URL中的查詢字符串。從URL查詢字符串jQuery自動完成搜索
即:「site.com?s=test」將填補輸入並搜索「測試」
我能夠正確解碼URI和變量傳遞給輸入。但是,它不會'搜索',實際上需要刪除一個字符並重新鍵入它以接受搜索字詞。
這是jQuery的自動完成功能,我使用:https://github.com/devbridge/jQuery-Autocomplete
我也注意到,我可以在搜索項粘貼到輸入,它會搜索,但如果從URL抓取的價值似乎忽略搜索功能。
var urlParams;
(window.onpopstate = function() {
var match,
pl = /\+/g, // Regex for replacing addition symbol with a space
search = /([^&=]+)=?([^&]*)/g,
decode = function (s) { return decodeURIComponent(s.replace(pl, " ")); },
query = window.location.search.substring(1);
urlParams = {};
while (match = search.exec(query))
urlParams[decode(match[1])] = decode(match[2]);
})();
$("#input").val(urlParams["s"]);
$("#input").autocomplete({
lookup: names,
onSelect: function (suggestion) {
// code here for output
}
});
不知道我缺少什麼。
jfyi - 問題標記保持默認jquery-ui-autocomplete而不是jquery-autocomplete。對困惑感到抱歉。
既然我無法找到任何有價值的回答你的問題在此插件的源代碼,我會sugget你使用jQuery UI的自動完成構件,並從AJAX調用飼料來源,當一個'search'甚至被觸發(只要確保'search'函數等待你的ajax調用提供源代碼。) –
@JeffNoel這真的不是一個合適的解決方案,這需要對已經工作的工具進行完全更改。 – nightowl