• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

e.target jego numer w tablicy

Cloud VPS
0 głosów
290 wizyt
pytanie zadane 26 listopada 2017 w JavaScript przez Vorex444 Dyskutant (9,610 p.)

Cześć, tworzę sobie liste to do i napotkałem mały problem, ale zacznę od początku.

Tak wygląda kod który dodaje notatkę do listy,

function addItem() {
    if(textInput.value!="")
        {
            var newItem = document.createElement('div'),
                textInputValue = textInput.value;
            newItem.classList.add('list-item');
            newItem.innerHTML = textInputValue + "<button id='deleteItem'>✘</button>"; 
            list.appendChild(newItem);
            tableList.push(newItem + textInputValue);
            console.log(tableList);
        }
    else
        {
            alert('Wpisz coś');
        }
};

Jak widać pushuje do tablicy treść, chcę później tą tablię przeparsować i wstawić do LocalStorage, ale zanim to zrobię chcę aby po kliknięciu przycisku remove element się usunął i tak też zrobiłem 

function deleteItemFromList() {
      document.addEventListener('click', function(e){
        if(e.target.id === 'deleteItem')
            {
                e.target.parentElement.remove();
            }
      });
};

Ale chcę też pobrać jego numer w tablicy i też z tablicy go usunąć ale nie wiem jak to zrobić, prówoałem indexOf ale coś nie wychodzi, ktoś pomoże?

1 odpowiedź

+1 głos
odpowiedź 26 listopada 2017 przez xmentor Nałogowiec (49,520 p.)
tableList.push(newItem + textInputValue);

To raczej nie zadziała.

Czemu tworzysz buttony o tym samym ID? ID ma być unikalne.

Do tworzonej notatki dodawaj unikalne ID, przy usuwaniu pobierasz ID rodzica przycisku(czyli notatki), wyszukujesz w tablicy elementu z takim ID i go usuwasz.

 

komentarz 26 listopada 2017 przez Vorex444 Dyskutant (9,610 p.)
Bo nie miałem pomysłu jak to inaczej zrobić z tymi buttonami :D
komentarz 26 listopada 2017 przez Vorex444 Dyskutant (9,610 p.)

ale jak mam po id wyszukać element w tablicy, zrobiłem coś takiego, ale zaciąłem się 

"wyszukujesz w tablicy elementu z takim ID i go usuwasz." nie wiem jak to

function addItem() {
    if(textInput.value!="")
        {
            var newItem = document.createElement('div'),
                textInputValue = textInput.value;
            newItem.classList.add('list-item');
            newItem.setAttribute('id', textInputValue.replace(/ /g,''));
            newItem.innerHTML = textInputValue + "<button id='deleteItem'>✘</button>"; 
            list.appendChild(newItem);
            tableList.push(textInputValue.replace(/ /g,''));
            console.log(tableList);
            textInput.value = "";
        }
    else
        {
            alert('Wpisz coś');
        }
};
function deleteItemFromList() {
      document.addEventListener('click', function(e){
        if(e.target.id === 'deleteItem')
            {
                var thisID = e.target.parentElement.getAttribute('id');
            }
      });
};

ID jest ustawianie takie jak treść notatki, ale bez spacji

komentarz 27 listopada 2017 przez xmentor Nałogowiec (49,520 p.)
edycja 27 listopada 2017 przez xmentor
Nadal nie poprawiłeś przycisków w notatce, wszystkie będą mieć identyczne ID.

Jeżeli dodasz dwie, nowe notatki z treścią 'arbuz' to dostaniesz dwa elementy o tym samym ID, a chyba tego nie chcemy.

Teraz do tableList pushujesz stringa, więc jaki element z tej tablicy chcesz usunąć?

Jakiś prosty przykład: https://jsfiddle.net/77db9sep/ - przy usuwaniu stringa z tablicy można zrobić podobnie.
komentarz 27 listopada 2017 przez Vorex444 Dyskutant (9,610 p.)
Przycisków jeszcze nie poprawiłem ale zrobiłem tak https://wojtekhorembala.github.io/

Podobne pytania

0 głosów
1 odpowiedź 854 wizyt
pytanie zadane 4 października 2017 w JavaScript przez Vorex444 Dyskutant (9,610 p.)
0 głosów
3 odpowiedzi 579 wizyt
0 głosów
2 odpowiedzi 485 wizyt
pytanie zadane 23 sierpnia 2018 w JavaScript przez Bakr Mądrala (6,850 p.)

93,487 zapytań

142,423 odpowiedzi

322,773 komentarzy

62,909 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...