I have a JSON object, for example:
{ "workouts": [ { "title": "Full Body", "exercises": [ { "name": "Push Ups", "duration": 3, "break": 3 }, { "name": "Squats", "duration": 3, "break": 3 }, { "name": "Running in Place", "duration": 3, "break": 3 } ] }, { "title": "God Legs", "exercises": [ { "name": "Running in Place (High Knees)", "duration": 3, "break": 3 }, { "name": "Squats", "duration": 3, "break": 3 }, { "name": "Clams", "duration": 3, "break": 3 } ] }, { "title": "Morning Stretch", "exercises": [ { "name": "Downward Dog", "duration": 3, "break": 3 }, { "name": "Face Plant", "duration": 3, "break": 3 }, { "name": "Warrior", "duration": 3, "break": 3 } ] } ] }
I go through this object and create information cards containing the name of each workout ("Full Body", "Legs of God", etc.).
When I click on one of the cards, I would like to be able to save the exercises associated with each heading into a variable for future use. For example, if I click God's feet, I want to save the variable: "[{'name':'Running in Place (High Knees)', 'duration':3, 'break':3},{'name':'Squats', 'duration':3, 'break':3},{'name': 'Clams', 'duration':3, 'break':3}]"
Here is the code that I use to iterate over the JSON data that is stored in the real-time Firebase database and create info maps.
JavaScript:
// Initialize Firebase. firebase.initializeApp(config); // Reference data. var dbRef = firebase.database().ref().child("workouts"); // Sync with Firebase in real time. dbRef.on("value", snap => { var workouts = snap.val(); for (var i = 0; i < workouts.length; i++) { //display.innerHTML = exercises[0].name; var routine = workouts[i].title; var id = "card" + i; var $card = ("<li><div class='card' id=" + id + "><a class='startIt' href='timer.html'>\n\ <div class='cardInfo'><h3>" + routine + "</h3><p>10 min.</p>\n\ </div></a><a class='cardOptions' href='overview.html'>\n\ </a></div></li>"); $("#cardList").append($card); } });
HTML:
<ul id="cardList" class="cards"></ul>
Thanks for any help and ideas!