Reputation: 13
I want to create & print a list of 20 businesses.
Server only allows for HTML & JavaScript and no jQuery plugins.
I need to use an Arrays to add 20 more Businesses w/ minimum coding. Would be nice to have a code for easily adding 20 more businesses.
Each array needs to print a separate bulleted list / Unordered List ( "ul")
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript Yellow Pages</h2>
<p id="businessID"></p>
<script>
// Business Object
Business = {
"businessName",
"businessType",
"businessNumber",
}
// Constructor function for Business Object
function business( businessName, businessType, businessNumber ) {
this.businessName = name,
this.businessType = type,
this.businessNumber = number,
}
// Create 3 Business Objects
var business1 = new business("businessName1", "businessType1", "businessNumber1");
var business2 = new business("businessName2", "businessType2", "businessNumber2");
var business3 = new business("businessName3", "businessType3", "businessNumber3");
// Arrays of Business Objects, (Hopefully)
var businessesArray = [
{"businessName1", "businessType1", "businessNumber1"},
{"businessName2", "businessType2", "businessNumber2"},
{"businessName3", "businessType3", "businessNumber3"},
];
// Create Bulleted List & Print
var text = "<ul>";
for(i=0; i< businesses.length; i++){
for(j=0; j< businesses[i].length; j++){
text += "<li>" + businesses[i][j] + "</li>";
}
text += "<BR>";
}
text += "</ul>";
document.getElementById("businessID").innerHTML = text;
</script>
</body>
</html>
Try code here https://www.w3schools.com/html/tryit.asp?filename=tryhtml_default
Sorry, I am a novice. Please help more in details :-)
Thank you in advance for all your help with my very first question! :-)
Upvotes: 0
Views: 87
Reputation: 8592
To print the array based on the structure you've given, use two loops (one for the inner array and the other for the outer array):
for (var i = 0; i < businesses.length; i++) {
var ul = $("<ul/>");
$('#list').append(ul);
console.log((businesses[i]));
for (var j = 0; j < businesses[i].length; j++) {
var li = $("<li/>");
li.text(businesses[i][j]);
ul.append(li);
}
}
Here is a Fiddle demo: https://jsfiddle.net/zephyr_hex/vqodf1xn/13/
Upvotes: 1