現在、todoリストの作成をしているのですが、削除ボタンを押した時に、IDを更新して表示させたいのですが、更新方法がわからず詰まってしまっています
現在のコードが
html
1<!DOCTYPE html> 2<html lang="ja"> 3 4<head> 5 <meta charset="UTF-8"> 6 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 7 <link rel="stylesheet" href="css/todo.css"> 8 <title>Document</title> 9</head> 10 11<body> 12 <div class="radio_button"> 13 <input type="radio" name="syurui" checked="checked" id="radio1_1" onchange="radioChange()">すべて 14 <input type="radio" name="syurui" id="radio1_2" onchange="radioChange()">作業中 15 <input type="radio" name="syurui" id="radio1_3" onchange="radioChange()">完了 </div> 16 <div class="task"> 17 <table border="0" > 18 <thead> 19 <tr> 20 <td>ID</td> 21 <td>コメント</td> 22 <td>状態</td> 23 </tr> 24 </thead> 25 <tbody id="add_value"> 26 27 </tbody> 28 </table> 29 </div> 30 <header class="header"> 31 <h1 class="title">新規タスクの追加</h1> 32 </header> 33 <div class="textbox"> 34 <input type="text" id="add_text" value=""> 35 <input type="button" value="追加" class="add_task_button" id="add_btn"> 36 </div> 37 38 <script src="js/todo.js"></script> 39 40</body> 41 42</html>
javascript
1"use strict" 2 3const add_btn = document.getElementById("add_btn"); 4const add_value = document.getElementById("add_value"); 5 6const todos = []; 7 8const displayTodos = (todos) => { 9 add_value.textContent = ""; 10 todos.forEach((todo, index) => { 11 // console.log(`${index}: ${todo.Taskid}`); 12 const tr = document.createElement("tr"); //trを作成 13 const id_td = document.createElement("td"); //tdを作成 14 id_td.textContent = todo.Taskid; //id_tdに要素数をカウント 15 const comment_td = document.createElement("td"); 16 comment_td.innerHTML = todo.comment; 17 const status_td = document.createElement("td"); 18 const workButton = document.createElement("button"); 19 workButton.innerText = todo.status; 20 workButton.addEventListener("click", function () { 21 if (todo.status == "作業中") { 22 todo.status = "完了"; 23 } else { 24 todo.status = "作業中"; 25 } 26 displayTodos(todos); 27 }); 28 const removeButton = document.createElement("button"); 29 removeButton.innerText = "削除"; 30 const id_num = todos.length; 31 removeButton.addEventListener("click", function () { 32 todos.splice(index, 1); 33 displayTodos(todos); 34 }); 35 tr.appendChild(id_td); //id_tdをtrの子要素として追加 36 tr.appendChild(comment_td); //comment_tdをtrの子要素として追加 37 tr.appendChild(status_td); //status_tdをtrの子要素として追加 38 status_td.append(workButton); //workButtonをstatus_tdに追加 39 status_td.append(removeButton); 40 add_value.appendChild(tr); 41 const reset = document.getElementById("add_text"); 42 reset.value = ""; 43 44 }) 45} 46 47 48add_btn.addEventListener("click", function () { 49 const idNum = todos.length; 50 const text = document.getElementById("add_text").value; 51 const status = "作業中"; 52 const todo = { 53 Taskid: idNum, 54 comment: text, 55 status: status, 56 }; 57 todos.push(todo); 58 displayTodos(todos); 59});
css
1.workbtn{ 2 border-radius:5px; 3} 4 5.removebtn{ 6 margin-left: 10px; 7 border-radius: 5px; 8}
このようになっていま
そして、
javascript
1 removeButton.addEventListener("click", function () { 2 todos.splice(index, 1); 3 displayTodos(todos); 4 });
この部分に、配列に入っているオブジェクトtodoのTaskidを更新するコードを入れたいです
この写真のIDの部分を更新したいです
よろしくお願いします
回答1件
あなたの回答
tips
プレビュー