JSON数据仍来自先前的AJAX调用

时间:2018-07-25 14:39:34

标签: javascript json ajax

我正在做一个小应用程序,该应用程序使用来自不同JSON的值并在Google图表中绘制图表。我有8个选择器,每组2个:4个,用于选择我要绘制的4个变量的JSON文件(第一级),而另一个4个(嵌套),以选择所选JSON的不同数据(第二级)。第一级调用JSON文件,并将属性显示为在第二级选择器中选择的选项(作为级联下拉列表)。

当我从第一级选择表单并调用json时,jsonData是正确的,但是如果我改变主意并想从第一级中选择另一个选项,则我的函数会再次向我返回旧值。由于触发了 secondChoose(jsonData)函数。

有人知道为什么吗?

提前谢谢!

我让您看下面的代码:

    var url;
    var id;
    var dataContainer = [];
    var findSelector;
    var keySelected;
    var newDatas;

        $(".firstLevel").on('change', function(){
          url = $(this).find("option:selected").attr("name");
          id = $(this).attr("name");
          $.ajax({
          url: url,
          type: "GET",
          dataType: 'jsonp',
          crossDomain: true,
          jsonpCallback: 'foo',
          success: secondChoose
          })
        });
        function secondChoose(jsonData) {
          findSelector = $("#"+id);
          findSelector.empty();
          findSelector.append("<option selected>..</option>")
            for (var key in jsonData) {
              findSelector.append("<option class='form-option'>"+key+"</option>")
            }
          findSelector.on('change',function(){
            keySelected = findSelector.find("option:selected").text();
            newDatas = jsonData[keySelected].datas;
            dataContainer.push(newDatas);
          })
        };

0 个答案:

没有答案