Javascript 在加载后通过json onchange进行解析,而不使用jquery再次获取json?

Javascript 在加载后通过json onchange进行解析,而不使用jquery再次获取json?,javascript,jquery,json,Javascript,Jquery,Json,我目前正在加载运行一个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 == c

我目前正在加载运行一个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的情况下实现这一点吗


谢谢

将结果存储在两个函数都可以访问的变量中(全局)


myJson
现在有了您的响应。然而!该
get
调用是异步的,因此您的更改可以在数据返回之前执行,从而导致空异常。一定要加一张支票

将结果存储在两个函数都可以访问的变量中(全局)


myJson
现在有了您的响应。然而!该
get
调用是异步的,因此您的更改可以在数据返回之前执行,从而导致空异常。一定要加一张支票

将结果存储在两个函数都可以访问的变量中(全局)


myJson
现在有了您的响应。然而!该
get
调用是异步的,因此您的更改可以在数据返回之前执行,从而导致空异常。一定要加一张支票

将结果存储在两个函数都可以访问的变量中(全局)


myJson
现在有了您的响应。然而!该
get
调用是异步的,因此您的更改可以在数据返回之前执行,从而导致空异常。一定要加一张支票

调用JSON后,需要将其保存在某个变量中,如下所示(需要进行一些清理)。一旦有了JSON,就可以分配change observer,此时JSON可用

$(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
           }
        });
        // now you can assign your onchange event
        $("#year").change(function(){
          curr_year = $("#year").val();
          $.each(json, function(i, item) {
           if(item.year == curr_year){
           //do stuffstuff
           }
          })  
        });
    });
});//end on ready

在调用JSON之后,需要将其保存在某个变量中,如下所示(需要进行一些清理)。一旦有了JSON,就可以分配change observer,此时JSON可用

$(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
           }
        });
        // now you can assign your onchange event
        $("#year").change(function(){
          curr_year = $("#year").val();
          $.each(json, function(i, item) {
           if(item.year == curr_year){
           //do stuffstuff
           }
          })  
        });
    });
});//end on ready

在调用JSON之后,需要将其保存在某个变量中,如下所示(需要进行一些清理)。一旦有了JSON,就可以分配change observer,此时JSON可用

$(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
           }
        });
        // now you can assign your onchange event
        $("#year").change(function(){
          curr_year = $("#year").val();
          $.each(json, function(i, item) {
           if(item.year == curr_year){
           //do stuffstuff
           }
          })  
        });
    });
});//end on ready

在调用JSON之后,需要将其保存在某个变量中,如下所示(需要进行一些清理)。一旦有了JSON,就可以分配change observer,此时JSON可用

$(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
           }
        });
        // now you can assign your onchange event
        $("#year").change(function(){
          curr_year = $("#year").val();
          $.each(json, function(i, item) {
           if(item.year == curr_year){
           //do stuffstuff
           }
          })  
        });
    });
});//end on ready

或者将onchange嵌套在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(){
             $.each(json, function(i, item) {
                 if(item.year == curr_year){
                 //do stuffstuff
                 }
              })  
         });

     });


});//end on ready

或者将onchange嵌套在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(){
             $.each(json, function(i, item) {
                 if(item.year == curr_year){
                 //do stuffstuff
                 }
              })  
         });

     });


});//end on ready

或者将onchange嵌套在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(){
             $.each(json, function(i, item) {
                 if(item.year == curr_year){
                 //do stuffstuff
                 }
              })  
         });

     });


});//end on ready

或者将onchange嵌套在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(){
             $.each(json, function(i, item) {
                 if(item.year == curr_year){
                 //do stuffstuff
                 }
              })  
         });

     });


});//end on ready

您只需要在两个函数都可以访问的范围内声明json变量。在这种情况下,我会在今年之后立即声明如下:

var curr_year = $("#year").val(); //returns 2014 from select menu
var json = {};

现在,使用getJSON加载的json数据应该可以在change event handler函数中使用。

您只需要在两个函数都可以访问的范围内声明json变量。在这种情况下,我会在今年之后立即声明如下:

var curr_year = $("#year").val(); //returns 2014 from select menu
var json = {};

现在,使用getJSON加载的json数据应该可以在change event handler函数中使用。

您只需要在两个函数都可以访问的范围内声明json变量。在这种情况下,我会在今年之后立即声明如下:

var curr_year = $("#year").val(); //returns 2014 from select menu
var json = {};

现在,使用getJSON加载的json数据应该可以在change event handler函数中使用。

您只需要在两个函数都可以访问的范围内声明json变量。在这种情况下,我会在今年之后立即声明如下:

var curr_year = $("#year").val(); //returns 2014 from select menu
var json = {};

现在,使用getJSON加载的json数据应该可以在change event handler函数中使用。

创建另一个变量,并将
$存储到其中。getJSON
输出将在稍后使用。这可能在堆栈中已经得到多次回答,在发布之前,您应该进行更多搜索,一个快速的答案是将JSON写入一个变量。创建另一个变量并将
$存储到其中。getJSON
输出将在以后使用。这可能在堆栈上已经回答了好几次,在发布之前,您应该再搜索一点,一个快速的答案是将JSON写入一个变量。创建另一个变量并将
$存储到其中。getJSON
输出将在以后使用。这可能在堆栈上已经回答了好几次,在发布之前,您应该再搜索一点,一个快速的答案是将JSON写入一个变量。创建另一个变量并将
$存储到其中。getJSON
输出将在以后使用。这可能在堆栈上已经回答了好几次,在发布之前,您应该再搜索一点,一个快速的答案是将JSON写入一个变量。我如何添加该检查?也非常感谢您D@BaconJuice--只需检查一下
myJson
-
if(myJson)//do stuff
哦,我明白了,明白了!谢谢。我该怎么加那张支票呢?也非常感谢您D@BaconJuice--只需检查一下
myJson
-
if(myJson)//do stuff
哦,我明白了,明白了!谢谢。我该怎么加那张支票呢?也非常感谢您D@BaconJuice--只需检查一下
myJson
-
if(myJson)//do stuff
哦,我明白了,明白了!谢谢。我该怎么加那张支票呢?也非常感谢您D@BaconJuice--只需检查一下
myJson
-
if(myJson)//do stuff
哦,我明白了,明白了!非常感谢。