Mecitan
@Mecitan
Уверенный пользователь клавиатуры

Как добавить элементы todo List в массив для дальшейше работы с ними? И как поменять местами checkbox?

Приветствую! Решил написать свой todo list. Задача стоит следующая. Создать список, с чекбоксами, в который будут помещаться какие-либо действия. В планах сделать так, чтобы выполненные задачи удалялись из списка и оставались только активные. Соответственно будет две кнопочки под списком "Активные" и "Выполненные". При нажатии на одну из них происходила бы фильтрация и выводила те или иные задачи из списка. Примерно предполагаю, что понадобится два метода filter + reduce.

Собственно с первой задачей я справился, почти. Элементы списка добавляются. input очищается сразу же после нажатия клавиши enter. Только вот чекбоксы находятся с правой стороны. Как сделать так, чтобы они были слева?

Через typeof посмотрел, что мои элементы относятся к объекту. Логично, чтобы выполнить вторую часть задачи. Надо эти объекты добавить в массив. Знаю, что надо добавлять их через push. Но не могу понять, как правильно написать условие, чтобы это сделать. Вот тут мне нужна Ваша помощь.

let input = document.querySelector('#elem');
let ul = document.createElement('ul');
let toDo = [];

document.body.append(ul);

input.addEventListener('change', () => {
    let li = document.createElement('li');

    let checkBox = document.createElement('input');
        checkBox.type = 'checkbox';
        checkBox.checked = false;

    /* добавляем элементы списка */    
    li.innerHTML = input.value;
    li.appendChild(checkBox);
    ul.appendChild(li);

    /* Очищаем input */
    if (input.value == input.value) {
        input.value = '';
    } 
});


  • Вопрос задан
  • 1140 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы