Optimizado por Optimole // Crear una tabla de emociones para 4 semanas const tableBody = document.getElementById('emotion-table-body'); const weeks = 4; const times = ['AM', 'PM']; function createEmotionTable() { for (let week = 1; week <= weeks; week++) { times.forEach(time => { const row = document.createElement('tr'); row.innerHTML = `${time} Semana ${week}`; for (let day = 1; day <= 7; day++) { row.innerHTML += ` `; } tableBody.appendChild(row); }); } } // Guardar datos en localStorage function saveData(week, day, time) { const selectId = `week${week}-day${day}-${time}`; const selectedValue = document.getElementById(selectId).value; localStorage.setItem(selectId, selectedValue); } // Cargar datos desde localStorage al cargar la página function loadData() { for (let week = 1; week <= weeks; week++) { times.forEach(time => { for (let day = 1; day <= 7; day++) { const selectId = `week${week}-day${day}-${time}`; const savedValue = localStorage.getItem(selectId); if (savedValue) { document.getElementById(selectId).value = savedValue; } } }); } } // Descargar los datos en formato CSV function downloadCSV() { let csvContent = "data:text/csv;charset=utf-8,"; csvContent += "Semana, Día 1, Día 2, Día 3, Día 4, Día 5, Día 6, Día 7n"; for (let week = 1; week <= weeks; week++) { times.forEach(time => { let row = `${time} Semana ${week}`; for (let day = 1; day <= 7; day++) { const selectId = `week${week}-day${day}-${time}`; const savedValue = localStorage.getItem(selectId) || "No registrado"; row += `,${savedValue}`; } csvContent += row + "n"; }); } const encodedUri = encodeURI(csvContent); const link = document.createElement("a"); link.setAttribute("href", encodedUri); link.setAttribute("download", "registro_emociones.csv"); document.body.appendChild(link); link.click(); document.body.removeChild(link); } // Inicializar la tabla y cargar los datos guardados createEmotionTable(); loadData();