4

I am missing something here in my code because I want to display JSON data in a div which is #searchcontainer upon initial load of the page but all I got was an empty 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);
2
  • 1
    I would argue that Sites[index] is likely undefined since index is somehow undefined since it is not declared anywhere in your code. Did you mean Sites[i]? Commented Oct 13, 2017 at 5:34
  • debugging 101 ... Browsers have a developer tools console, for developers who are developing to see errors ... your code produces ReferenceError: index is not defined error Commented Oct 13, 2017 at 5:36

2 Answers 2

2

Index was undefined one.use with i .And better wrap code with document.ready.its perform the function after document loaded

$(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>

Sign up to request clarification or add additional context in comments.

1 Comment

Thank you very much works like a charm! Now I see what am I missing :)
2

Use Sites[i].Model_Number instead of Sites[index].Model_Number.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.