@IvanIvanOvcharenko

Удаление дела todoList?

Здравствуйте , подскажите пожалуйста как доработать JS код , что бы удалять выделенные чекбоксом дела.

<div class="todoList">

        <div class="todoList-add">
            <input  type="text" id="in">
            <button id="add">Добавить</button>
            <button id="remove">Удалить</button>
        </div>

        <div class="todoList-out" id="out">
        </div>
    </div>


window.onload = function () {
  var todoList = [];

  if (localStorage.getItem('todo') != undefined){
      todoList = JSON.parse(localStorage.getItem('todo'));
      out();
  }

  document.getElementById('add').onclick = function () {
    var d = document.getElementById('in').value;
    var temp = {};
    temp.todo = d;
    temp.check = false;
    var i = todoList.length;
    todoList[i] = temp;
    console.log(todoList);
    out();
    localStorage.setItem('todo', JSON.stringify(todoList));
  };

  function out() {
   var out = '';
   for (var key in todoList){
       if(todoList[key].check === true){
            out += '<input type="checkbox" checked>';
       }
       else {
           out += '<input type="checkbox">';
       }
       out += todoList[key].todo + '<br>';
   }
   document.getElementById('out').innerHTML = out;

  }

};
  • Вопрос задан
  • 1177 просмотров
Решения вопроса 1
Vlad_IT
@Vlad_IT Куратор тега JavaScript
Front-end разработчик
Список всех "чекнутых" чекедов.
document.querySelectorAll('#out input[type=checkbox]:checked')

Дальше сами.
UPD: вам нужна привязка чекеда к значению в массиве. Храните в череде key из массива, а лучше добавьте в объект temp новое поле, уникальный id. И докиньте его в html код чекеда
out += '<input type="checkbox" data-id="' + todoList[key].id + '">';

теперь с DOM элемента можно получить этот id
el.dataset.id
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы