【问题标题】:Displaying JSON data in a div using for loop in JavaScript在 JavaScript 中使用 for 循环在 div 中显示 JSON 数据
【发布时间】:2017-10-13 05:30:51
【问题描述】:

我的代码中遗漏了一些内容,因为我想在初始加载页面时以div 显示 JSON 数据,即#searchcontainer 但我得到的只是一个空的div

var Sites = [
{"country_name": "Denmark", "latitude": 56, "longitude": 10, "status": "OK", "site_name": "FLS Denmark", "Model_Number": "12345"},
{ "country_name": "Zaire", "latitude": -20, "longitude": 30, "status": "OK", "site_name": "FLS Zaire", "Model_Number": "67890" },
{ "country_name": "Vietnam", "latitude": 16, "longitude": 106, "status": "NO", "site_name": "FLS Vietnam", "Model_Number": "1111" }]

var DefaultText = "";
var i;

for (i = 0; i < Sites.length; i++)
{
DefaultText += '<div class="rightcontainer">';
DefaultText += '<img id="productimage" src="src/images/retrofit.png" onclick="DisplayProfileCard();"/>';
DefaultText += '<div id="imagedetail">';

DefaultText += '<span class="details">Product Type:'+ Sites[index].Model_Number +'</span>';
DefaultText += '<span class="details">Version / Size <img class="row_one_icon lightbulb_icon" id="lightbulb" src="src/images/lightbulb1.png" onClick="LightBulb()" /><img id="convert" class="row_one_icon arrow_icon" src="src/images/arrow_Off.png" onClick="Conversion()"/><img id="lightning" class="row_one_icon" src="src/images/lightningOff.png" onClick="Lightning()"/><img id="bullseye" class="row_one_icon bullseye" src="src/images/bullseye_off.png" onClick="BullsEye()"/></span>';
DefaultText += '<span class="details">Estimated annual Spend <img class="row_one_icon ribbon" src="src/images/ribbon1.png"/><img class="row_one_icon map" src="src/images/map1.png"/><img class="row_one_icon paper_stack" id="paper" src="src/images/paper_stack_Off.png" onclick="PaperStack()"/><img class="row_one_icon chain" id="chain" src="src/images/chain_Off.png" onClick="ChainLink()"/></span>';
DefaultText += '<span class="details">Site name / manufacturer</span>';
DefaultText += '<span class="details">Selling Sales Eng</span>';
DefaultText += '</div>';
DefaultText += '</div>';
}
$('#searchcontainer').append(DefaultText);

【问题讨论】:

  • 我认为Sites[index] 可能是未定义的,因为index 在某种程度上是未定义的,因为它没有在您的代码中的任何地方声明。你的意思是Sites[i]
  • debugging 101 ... 浏览器有一个 developer 工具控制台,供 developingdeveloper 查看错误。 .. 你的代码产生ReferenceError: index is not defined 错误

标签: javascript arrays json


【解决方案1】:

Index 是未定义的一个。与i 一起使用。更好地用document.ready 包装代码。它在文档加载后执行功能

$(document).ready(function(){
var Sites = [
{"country_name": "Denmark", "latitude": 56, "longitude": 10, "status": "OK", "site_name": "FLS Denmark", "Model_Number": "12345"},
{ "country_name": "Zaire", "latitude": -20, "longitude": 30, "status": "OK", "site_name": "FLS Zaire", "Model_Number": "67890" },
{ "country_name": "Vietnam", "latitude": 16, "longitude": 106, "status": "NO", "site_name": "FLS Vietnam", "Model_Number": "1111" }]

var DefaultText = "";
var i;

for (i = 0; i < Sites.length; i++)
{
DefaultText += '<div class="rightcontainer">';
DefaultText += '<img id="productimage" src="src/images/retrofit.png" onclick="DisplayProfileCard();"/>';
DefaultText += '<div id="imagedetail">';

DefaultText += '<span class="details">Product Type:'+ Sites[i].Model_Number +'</span>';
DefaultText += '<span class="details">Version / Size <img class="row_one_icon lightbulb_icon" id="lightbulb" src="src/images/lightbulb1.png" onClick="LightBulb()" /><img id="convert" class="row_one_icon arrow_icon" src="src/images/arrow_Off.png" onClick="Conversion()"/><img id="lightning" class="row_one_icon" src="src/images/lightningOff.png" onClick="Lightning()"/><img id="bullseye" class="row_one_icon bullseye" src="src/images/bullseye_off.png" onClick="BullsEye()"/></span>';
DefaultText += '<span class="details">Estimated annual Spend <img class="row_one_icon ribbon" src="src/images/ribbon1.png"/><img class="row_one_icon map" src="src/images/map1.png"/><img class="row_one_icon paper_stack" id="paper" src="src/images/paper_stack_Off.png" onclick="PaperStack()"/><img class="row_one_icon chain" id="chain" src="src/images/chain_Off.png" onClick="ChainLink()"/></span>';
DefaultText += '<span class="details">Site name / manufacturer</span>';
DefaultText += '<span class="details">Selling Sales Eng</span>';
DefaultText += '</div>';
DefaultText += '</div>';
}
$('#searchcontainer').append(DefaultText);
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="searchcontainer"></div>

【讨论】:

  • 非常感谢你的作品就像一个魅力!现在我明白我错过了什么:)
【解决方案2】:

使用Sites[i].Model_Number 代替Sites[index].Model_Number

【讨论】:

    猜你喜欢
    • 2021-05-27
    • 1970-01-01
    • 2018-07-04
    • 2019-07-08
    • 1970-01-01
    • 1970-01-01
    • 2020-08-10
    • 2023-04-07
    • 2016-01-25
    相关资源
    最近更新 更多