実現したいこと
javascript初心者です。サイトを参考にしながら、javascriptで、Todoリストを作成しています。
Taskを追加した際に、自動でTaskに期限と状態を一緒に表示をするように実装したいのですが、わかりません。
何方かアドバイスをお願いします。
※下記のソースコードは引用テキストを雛形として参考にし、装飾等はサイトを検索して、カスタムをしています。
HTML
1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4 <meta charset="UTF-8"> 5 <title>TODOLIST JAVASCRIPT</title> 6 <link rel="stylesheet" href="font/Rimouski.css"> 7 <link rel="stylesheet" href="css/style.css"> 8 <script src="js/main.js" defer></script> 9</head> javascript 10<body> 11 <h1>TODOLIST</h1> 12 <div id="date"></div> 13 <div id='container'> 14 <input type='text' placeholder='Please enter your Todo' id='text-input'> 15 <p class="font-weight-bold">No</p> 16 <p class="font-weight-bold">Title</p> 17 <p class="font-weight-bold">Priority</p> 18 <p class="font-weight-bold">Deadline</p> 19 20 21 <ol id='todo-list' name="date" type="date"></ol> 22 <select> 23 <option>High priority</option> 24 <option selected>Normal priority</option> 25 <option>Low priority</option> 26 </select> 27 <label> 28 <input type="date"> 29 </label> 30 </div> 31</body> 32</html>
javascript
1 2'use strict'; 3 4const dateElement = document.getElementById("date"); 5const textInput = document.getElementById('text-input'); 6const todolist = document.getElementById('todo-list'); 7const priority = document.querySelector('select'); 8const option = {weekday:"long", month:"short", day:"numeric"}; 9const today = new Date(); 10dateElement.innerHTML = today.toLocaleDateString("en-US", option); 11 12textInput.addEventListener('keydown', e => { 13 const text = textInput.value.trim(); 14 15 if(text === '' || e.key !== 'Enter') { 16 return; 17 } 18 19 20 const li = document.createElement('li'); 21 const span = document.createElement('span'); 22 const button = document.createElement('button'); 23 24 li.classList.add('list-item'); 25 26 span.textContent = text; 27 span.classList.add('todo-text'); 28 29 button.textContent = 'Delete'; 30 button.type = 'button'; 31 button.classList.add('delete-button'); 32 button.addEventListener('click', e => { 33 todolist.removeChild(e.target.closest('li')); 34 }); 35 36 li.appendChild(span); 37 //li.appendChild(select); 38 //li.appendChild(input[type="date"]); 39 li.appendChild(button); 40 todolist.appendChild(li); 41 42 textInput.value = ''; 43 44});
回答1件
あなたの回答
tips
プレビュー