【问题标题】:making a for-loop / .each loop for AJAX JSON call为 AJAX JSON 调用创建一个 for-loop / .each 循环
【发布时间】:2015-06-27 23:30:10
【问题描述】:

我有一个有效的 JSON 调用,它将 data.root.offer[0].region 调用加载到类 .region 的 div 中。它看起来像这样:

$.getJSON('json/data.json', function(data) {
  $('.region').html('<p>' + data.root.offer[0].region + '</p>'
    )
});

这是我尝试过但没有奏效的方法

for (var i = 0; i <= carousel.length; i++) {

$.getJSON('json/data.json', function(data) {
  $('.region').html =+ ('<p>' + data.root.offer[i].region + '</p>'
    )
});
};

我一直在尝试创建一个循环,将报价数组中的 8 个项目加载到 8 个 div 中,并使用循环使用 .region 类。但没有成功..如果有人知道真正有用的解决方案。

JSON

{"root": {"offer": [{"region": "Miami - Miami Beach",
                     "region": "Mexico - Playacar",
                     "region": "Cuba - Veradero",
                     "region": "Jamaica - Montego Bay",
                     "region": "Dominican Republic - Bavaro",
                     "region": "Turkije - Belek",
                     "region": "Turkije - Belek",
                     "region": "Turkije - Side",
                     "region": "Tunesië - Hammamet Yasmine ",
                     "region": "Egypte - Sharm El Sheikh"
}]}}

HTML:

<div class="carousel" tabindex="4">
        <div class="frame">
            <div class="region">
                <p>miami beach1<p>
            </div>
        </div>
        <div class="frame">
            <div class="region">
                <p>miami beach2<p>
            </div>
        </div>
        <div class="frame">
            <div class="region">
                <p>miami beach3<p>
            </div>
        </div>
        <div class="frame">
            <div class="region">
                <p>miami beach4<p>
            </div>
        </div>
        <div class="frame">
            <div class="region">
                <p>miami beach5<p>
            </div>
        </div>
        <div class="frame">
            <div class="region">
                <p>miami beach6<p>
            </div>
        </div>
        <div class="frame">
            <div class="region">
                <p>miami beach7<p>
            </div>
        </div>
        <div class="frame">
            <div class="region">
                <p>miami beach8<p>
            </div>
        </div>
</div>

【问题讨论】:

标签: javascript jquery ajax json


【解决方案1】:

JSON

{"root": {"offer": [{"region": "Miami - Miami Beach"},
                     {"region": "Mexico - Playacar"},
                     {"region": "Cuba - Veradero"},
                     {"region": "Jamaica - Montego Bay"},
                     {"region": "Dominican Republic - Bavaro"},
                     {"region": "Turkije - Belek"},
                     {"region": "Turkije - Belek"},
                     {"region": "Turkije - Side"},
                     {"region": "Tunesië - Hammamet Yasmine "},
                     {"region": "Egypte - Sharm El Sheikh"}]
    }
}

Javascript

$.getJSON('http://beta.json-generator.com/api/json/get/Fx2DlmM', function(data) {
      var regions = $('.carousel .region').length;
      for (var i = 0; i <= regions; i++) {
        $('.region').eq(i).html('<p>' + data.root.offer[i].region + '</p>');
      };
});

下面的工作示例

   
$(function(){
   $.getJSON('http://beta.json-generator.com/api/json/get/Fx2DlmM', function(data) {
      var regions = $('.carousel .region').length;
      for (var i = 0; i <= regions; i++) {
        $('.region').eq(i).html('<p>' + data.root.offer[i].region + '</p>');
      };
    });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="carousel" tabindex="4">
        <div class="frame">
            <div class="region">
                <p>miami beach1<p>
            </div>
        </div>
        <div class="frame">
            <div class="region">
                <p>miami beach2<p>
            </div>
        </div>
        <div class="frame">
            <div class="region">
                <p>miami beach3<p>
            </div>
        </div>
        <div class="frame">
            <div class="region">
                <p>miami beach4<p>
            </div>
        </div>
        <div class="frame">
            <div class="region">
                <p>miami beach5<p>
            </div>
        </div>
        <div class="frame">
            <div class="region">
                <p>miami beach6<p>
            </div>
        </div>
        <div class="frame">
            <div class="region">
                <p>miami beach7<p>
            </div>
        </div>
        <div class="frame">
            <div class="region">
                <p>miami beach8<p>
            </div>
        </div>
</div>

【讨论】:

  • 但是如果我想使用 2 个轮播,每个轮播 4 帧呢?
  • 你需要在单独的问题中问这个问题,我猜上面的答案回答了你原来的问题,对吧?无论如何,然后必须 for 循环进行迭代,实际上这更多地取决于您如何使用每个类来渲染两个 carousal
  • 是的,非常感谢!我会为此提出一个新问题。
猜你喜欢
  • 2023-03-18
  • 2015-11-30
  • 2015-11-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多