Я чувствую, что это, вероятно, проблема с петлей где-то, но я немного новее в кодировании, и у меня возникают проблемы с выяснением где именно проблема. Каждый раз, когда я добавляю новую задачу в список, она снова печатает первую задачу. Поэтому, если я добавляю вторую задачу, она вставляет первую задачу и вторую задачу в таблицу, если я добавлю третью задачу, она вставляет первую задачу и третью задачу в таблицу .. ее странно.Добавление строк в таблицу, цикл массива, выполнение сумасшедших вещей, чтение первой строки каждый раз
Я смотрел в своих локальных файлах хранения и сохранял их правильно. как в, (задача одна, задача вторая, задача три) нет повторения там, и ее получение сохраняется так, как я этого хочу.
Вопрос в том, что я пытаюсь сделать это:
Я хочу, чтобы цикл через массив, и есть все, что хранится в локальном хранилище размещается на столе. (В настоящее время, когда я обновляю его, он полностью сбрасывается, он действует как хранилище сеансов, а не локальное хранилище. Он появляется в локальном хранилище после обновления, но как только я нажимаю, чтобы добавить еще после обновления, он исчезает). его a сделать список, поэтому я хочу, чтобы он в основном показывал все элементы, перебирая массив, и когда я добавляю новый элемент, сохраните его и снова пропустите через массив и разместите его в таблице.
var table = document.getElementById("tableBody");
toDoArray = [];
function buildTable(){
addToStorage();
var retrievedTaskObject = localStorage.getItem("task");
var parsedObject = JSON.parse(retrievedTaskObject);
var addTheTaskName = parsedObject.taskName;
var addTheTaskDate = parsedObject.taskDate;
for(i=0; i < toDoArray.length; i++){
var row = table.insertRow(0);
var cellName = row.insertCell(0);
var cellDate = row.insertCell(1);
var cellId = row.insertCell(2);
var cellCheck = row.insertCell(3);
cellName.innerHTML= parsedObject[i].name;
cellDate.innerHTML= parsedObject[i].date;
var checkStuff = "<input type='checkbox'>";
cellCheck.innerHTML = checkStuff;
}
}
function submitForm(name,date) {
var addTaskName = document.getElementById("taskName").value;
var addTaskDate = document.getElementById("dateTask").value;
var taskSomething = getTaskObj(addTaskName,addTaskDate);
toDoArray.push(taskSomething);
buildTable();
};
function getTaskObj(taskName,taskData){
var taskObject = {
name: taskName,
date: taskData,
};
return taskObject;
}
function addToStorage(){
var storedArray = JSON.stringify(toDoArray);
localStorage.setItem("task",storedArray);}
вы можете добавить ваш HTML также –
Декларирование '' i' в функции buildTable' может помочь? – Teemu