【问题标题】:Having trouble looping a JSON file to create manipulatable results to populate a drop down list无法循环 JSON 文件以创建可操作的结果以填充下拉列表
【发布时间】:2013-05-15 18:20:29
【问题描述】:

我无法记住如何遍历对象以将其操作为选择表单对象中的选项。我已经做到了这一点,但是来自成功函数内部的警报只是打印“对象对象”。我以前做过这个,但我只是生疏了,感谢任何帮助。

function getDestinations()
{
$.ajax({
    dataType:'json',
    type:'GET',
    url:"json/destinations.json",
    success:function(data) {
        for (var dest in data.Destinations) {
            alert(dest.destinationName)
        }

    }
});
}

警报以“未定义”的形式出现,但它们循环的次数正确。

有关更多信息,每个返回的结果都将填充一个下拉列表,该下拉列表将在被选中时用于使用其“destinationID”填充具有所述所选位置的天气信息的 div。

【问题讨论】:

    标签: jquery ajax json


    【解决方案1】:
    $.each(object, function(index,value){
        //do stuff
    });
    

    【讨论】:

      【解决方案2】:

      试试这个 -

      success:function(data) {
              $.each(data.Destinations, function(i,v){
                 alert(v.destinationName);
              });
      }
      

      填充select

        $("#selectID").empty();
        $.each(data.Destinations, function(i,v){
                var dest = v.destinationName;
                $("#selectID").append("<option value="+dest+">"+dest+"</option>");
        });
      

      【讨论】:

      • 谢谢,就是这样。不要以为您可以编辑您的答案,然后如何使用返回的数据来填充选择列表中的选项?如果没有,没问题,感谢您的帮助!
      【解决方案3】:

      其他答案是正确的,但这就是您所做的事情不起作用的原因。 当您为每个循环执行一次时,变量会遍历您给它的任何索引/键。

      for (var dest in data.Destinations){
          // dest is an index/key within the data.Destinations variable
          // So you refer to it using
          alert(data.Destinations[dest].destinationName);
      }
      

      希望对你有帮助。

      【讨论】:

      • 哈哈。不要觉得太糟糕。我发现自己经常做同样的事情!
      猜你喜欢
      • 2018-06-23
      • 2021-04-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-25
      相关资源
      最近更新 更多