gpt4 book ai didi

javascript - 用于 jQuery UI 自动完成的 JSON 数组

转载 作者:行者123 更新时间:2023-11-30 17:07:52 25 4
gpt4 key购买 nike

任务是获取包含城市名称数组的本地 JSON 文件,并将它们自动完成。没有关于 JSON 数组的确切信息,总是谈论“键”-“值”对。所以我有一个问题:是否可以在 JSON 中使用包含单个项目的数组,如果是,我的代码哪里有错误?
JSON

    [
"Minsk",
"London",
"Riga",
"Vilnius",
"Warszaw",
"Paris",
"Moscow",
"Tallin",
"Berlin",
"Amsterdam",
"Oslo",
"Helsinki"
]

JS

$('#tags').autocomplete({
source: function(request, response) {
var result = $.ajax({
url: '../source.json',
method: 'GET',
dataType: 'json',
success: function(data) {
var array = [];
response($.each( data, function(item) {
array.push(item);
return array;
}));
return array;
}
});
}
});

最佳答案

JSON 确实支持数组和对象。

您的代码不会将结果返回给源。事实上,如果不使用 setInterval 来检查它或类似的东西,您就不能等待 $.ajax() 完成。最好的方法是在页面加载时访问一次 JSON 文件并从那里引用源。

尝试:

var dict = [];

$.ajax({
url: 'https://dl.dropboxusercontent.com/u/100496307/source.json',
method: 'GET',
dataType: 'json',
success: function(data) {
$.each(data, function() {
dict.push(this.toString());
});
return dict;
}
});

$('#tags').autocomplete({
source: dict
});

$('#tags').keydown(function() {
console.log(dict);
});
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.11.2/jquery-ui.min.js"></script>
<link rel="stylesheet" href="https://code.jquery.com/ui/1.11.2/themes/black-tie/jquery-ui.css" />
</head>

<body>
<input type="text" id="tags" />
</body>

关于javascript - 用于 jQuery UI 自动完成的 JSON 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27593994/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com