Javascript 如何在事件处理程序中获取值并更改外部变量?
我有空数组。需要通过单击某些链接来填充(仅当当前索引的值尚未填充时) 如何填充数组流派项目的所有元素(单击每个元素一次。流派链接) 以后如何在其他处理程序和回调中获取此数组的值Javascript 如何在事件处理程序中获取值并更改外部变量?,javascript,jquery,Javascript,Jquery,我有空数组。需要通过单击某些链接来填充(仅当当前索引的值尚未填充时) 如何填充数组流派项目的所有元素(单击每个元素一次。流派链接) 以后如何在其他处理程序和回调中获取此数组的值 Javascript迷惑了我=\n请帮助检查我的评论并尝试以下操作: $(document).ready(function () { var genres_items = []; $('.genre-fill-link').on('click', function() { var genre_index
Javascript迷惑了我=\n请帮助检查我的评论并尝试以下操作:
$(document).ready(function () {
var genres_items = [];
$('.genre-fill-link').on('click', function() {
var genre_index = $(this).data('g-index'); // get id of genre
if(!genres_items[genre_index] { // want to check is this genre filled - get error, undefined variable
$.get('/get-genre-list/', {'genre-id', gener_index}, function(data){ // if genre is not filled yet, want to get data by ajax
genres_items[genre_index] = data;
console.log(genres_items);
});
}
}
});
顺便说一句,您编写了
gener\u items[gener\u index]
而不是genre\u items[genre\u index]
,并在console.log(genre\u items)
上获得“未触及数组”是完全正常的。console.log部分是在$.get1)回调之前执行的。对不起,这是打字错误,我在这里手动编写了这段代码,而不是原始副本粘贴。2) 问题的第二部分-如何在其他处理程序和之后的回调中获取此数组的值?!如果我点击第二、第三和其他的。流派填充链接,如果(!genres\u items[genre\u index]),此检查将不起作用。但结果必须是['jazz'=>'data\u of the u jazz…','rock'=>data\u of the u rock…,'reggie'=>'data\u of the u of u reggie…,…]
。对不起,我的英语不太好,如果你不理解,请在你想阅读genres\u项目[genre\u index]
$(document).ready(function () {
var genres_items = [];
$('.genre-fill-link').on('click', function() {
var genre_index = $(this).data('g-index'); // get id of genre
if(!genres_items[genre_index] { // want to check is this genre filled - get error, undefined variable
$.get('/get-genre-list/', {'genre-id', gener_index}, function(data){ // if genre is not filled yet, want to get data by ajax
genres_items[genre_index] = data;
console.log(genres_items);
});
}
}
});