我正在使用 "jQuery UI Autocomplete "來過濾JSON資料,我正在使用以下代碼
。<input type="text" name="searchKeywords" id="ninecSearchKeywords" placeholder="How To...">
然后將JS作為
。然后將JS作為
jQuery(document)。 ready(function($){
$.getJSON("apiUrl"/span>, function(data){
$.each(data, function(key, value){
$("#ninecSearchKeywords").autocomplete({
source: value.keys。
autoFocus: true,
select: function (event, ui) {
window.location = value.pageLink。
}
});
});
});
});
和JSON資料是
[
{
pageID: "454"。
pageLink: "url",
sectionID: "a599d36c4c7a71ddcc1bc7259a15ac3a",
anchorLink: "anchor1",
keys: [
"結果1"。
"結果2"。
"結果3"。
]
},
{
pageID: "455",
pageLink: "url",
sectionID: "8d993394c892dcaa8683dc4ba4fae21d",
anchorLink: "anchor2",
keys: [
"結果4",
"結果5"。
"結果6"。
]
},
{
pageID: "456",
pageLink: "url",
sectionID: "dce6920a3408ae9a8e61b75a4e5fd6ca",
anchorLink: "anchor3",
keys: [
"結果7",
"結果8"。
"結果9"。
]
}
]
這在#2和#3迭代中作業正常,我能夠搜索到結果4到結果9,但是對于第一個迭代,即結果1、2和3,沒有結果顯示在下拉選單中。
誰能知道這里出了什么問題嗎?
uj5u.com熱心網友回復:
自動完成源將不會在回圈中被更新。首先創建資料,然后將原始碼添加到自動完成中。
jQuery(document)。 ready(function($){
$.getJSON("apiUrl"/span>, function(data){
var keys = [] 。
var keyLinkMap = {};
$.each(data, function(key, value){
for(let i = 0; i <= value.keys.length; i ) {
keys.push({label: value.keys[i], value:value.pageLink}) 。
}
});
$("#ninecSearchKeywords"/span>).autocomplete({
source: keys,
autoFocus: true,
select: function (event, ui) {
window.location = value.pageLink;
}
});
});
});
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/319899.html
標籤:
