我目前正在加载上运行一个 getJSON 函数,其内容如下。
$(document).ready(function() {
//get year
var curr_year = $("#year").val(); //returns 2014 from select menu
$.getJSON(URL, function(json) {
$.each(json, function(i, item) {
if(item.year == curr_year){
//do stuffstuff
}
})
});
$("#year").change(function(){
curr_year = $("#year").val();
$.each(json, function(i, item) {
if(item.year == curr_year){
//do stuffstuff
}
})
});
});//end on ready
目前 onchange 不起作用,因为我不知道如何在 onchange 中利用已经调用的 json。有人可以告诉我如何完成此任务而不必再次调用 json 吗?
谢谢
最佳答案
将结果存储在两个函数都可以访问的变量中(全局)
var myJson;
$.getJSON(URL, function(json) {
myJson = json;
$.each(json, function(i, item) {
if(item.year == curr_year){
//do stuffstuff
}
})
});
myJson
现在已收到您的回复。然而!该 get 调用是异步的,因此您的更改可能会在数据返回之前执行,从而导致空异常。请务必添加支票!
关于javascript - onload后通过json onchange解析而不使用jquery再次获取JSON?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24022032/