Javascript 结合到JS代码,我不确定是否得到了所需的变量
谁能告诉我我做错了什么?我终于明白了如何循环处理JSON结果并在DIV中显示,但现在我尝试将其添加到自动完成搜索建议的jquery代码中Javascript 结合到JS代码,我不确定是否得到了所需的变量,javascript,jquery,Javascript,Jquery,谁能告诉我我做错了什么?我终于明白了如何循环处理JSON结果并在DIV中显示,但现在我尝试将其添加到自动完成搜索建议的jquery代码中 $(文档).ready(函数(){ var tagsArray=[] $.getJSON(“https://api.deckbrew.com/mtg/cards?color=red&color=blue&rarity=rare&name=fire,函数(结果){ $.each(结果、函数(i、字段){ //$(“div”).append(field.name
$(文档).ready(函数(){
var tagsArray=[]
$.getJSON(“https://api.deckbrew.com/mtg/cards?color=red&color=blue&rarity=rare&name=fire,函数(结果){
$.each(结果、函数(i、字段){
//$(“div”).append(field.name+”
“+field.url+”
“+field.id+”
“+field.set\u url+”
”);
tagsArray.push(字段名);
});
$(函数(){
var availableTags=tagsArray;
$(“#标记”).autocomplete({
资料来源:availableTags
});
});
});
});
$(函数(){
var availableTags=tagsArray;
$(“#标记”).autocomplete({
资料来源:availableTags
});
});
您的$(function(){})
创建一个将其从tagsArray
变量范围之外的变量。你最好的办法是在你的最上面部分去掉它,如下所示:
$.getJSON("", function (result) {
$.each(result, function () {}); // Same as you have it
$('#tags').autocomplete({
source: tagsArray
});
});
你不需要你的下半部分来做这件事。经验法则:保持简单,不要使用$(function(){});或者其他你不了解的新奇事物 在这里为你做了一个快速修复
$(文档).ready(函数(){
var tagsArray=[]
$.getJSON(“https://api.deckbrew.com/mtg/cards?color=red&color=blue&rarity=rare&name=fire,函数(结果){
$.each(结果、函数(i、字段){
$(“div”).append(field.name+”
“+field.url+”
“+field.id+”
“+field.set\u url+”
”);
tagsArray.push(字段名);
});
$(“#标记”).autocomplete({
资料来源:tagsArray
});
});
});
看起来我们正在用$(function(){…})
包装代码,但并不真正理解原因。
$.getJSON("", function (result) {
$.each(result, function () {}); // Same as you have it
$('#tags').autocomplete({
source: tagsArray
});
});
$(document).ready(function(){
var tagsArray = []
$.getJSON("https://api.deckbrew.com/mtg/cards?color=red&color=blue&rarity=rare&name=fire",function(result){
$.each(result, function(i, field){
$("div").append(field.name + "<br>" + field.url + "<br> "+ field.id + "<br> "+ field.set_url + "<br>");
tagsArray.push(field.name);
});
$( "#tags" ).autocomplete({
source: tagsArray
});
});
});