-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathscript.js
56 lines (47 loc) · 1.4 KB
/
script.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
let todos = [];
const addTodo = () => {
const todoText = document.getElementById("todo-input").value.trim();
if (todoText !== "") {
todos.push({ text: todoText, isEditing: false });
displayTodos();
document.getElementById("todo-input").value = "";
}
};
const displayTodos = () => {
const todoList = document.getElementById("todo-list");
todoList.innerHTML = "";
todos.forEach((todo, index) => {
const listItem = document.createElement("li");
listItem.classList.add("todo-item");
if (todo.isEditing) {
listItem.innerHTML = `
<input type="text" id="edit-input-${index}" value="${todo.text}">
<button class="save-button" onclick="saveTodo(${index})">Save</button>
`;
} else {
listItem.innerHTML = `
${todo.text}
<button class="edit-button" onclick="editTodo(${index})">Edit</button>
<button class="delete-button" onclick="deleteTodo(${index})">Delete</button>
`;
}
todoList.appendChild(listItem);
});
};
const deleteTodo = (index) => {
todos.splice(index, 1);
displayTodos();
};
const editTodo = (index) => {
todos[index].isEditing = true;
displayTodos();
};
const saveTodo = (index) => {
const newText = document.getElementById(`edit-input-${index}`).value.trim();
if (newText !== "") {
todos[index].text = newText;
todos[index].isEditing = false;
displayTodos();
}
};
displayTodos();