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

Witam mam pytanie jak usunąć wiersz o szukanym numerze w javascript ?

Object Storage Arubacloud
+1 głos
519 wizyt
pytanie zadane 20 lipca 2016 w JavaScript przez Patryk Rafał Bywalec (2,700 p.)

Tak ja w temacie chciał bym  usuwać dowolny wiersz po kliknięciu w usuń
 

Kod w javascript

a tu wywołanie sądzę że zbędne ale wstawie

 

1
komentarz 21 lipca 2016 przez ScriptyChris Mędrzec (190,190 p.)
http://forum.pasja-informatyki.pl/regulamin-forum

Nie wstawiaj kodu jako screen, tylko w odpowiednio do tego przeznaczone bloczki.

2 odpowiedzi

0 głosów
odpowiedź 20 lipca 2016 przez Magicone Nałogowiec (45,100 p.)
Funkcję usun przerób w sposób, aby po skończonym dodaniu zwracała element, który siedzi w zmiennej button. Wówczas wywołując tę funkcję w tworzTabelę bierzesz sobie ten element i podpinasz do niego obsługę zdarzenia click -> wtedy wywołujesz metodę wiersz.remove() z obiektu, który przechodzi ze scope wyżej.
0 głosów
odpowiedź 20 lipca 2016 przez kosaa Stary wyjadacz (14,130 p.)
w tworzTabele() daj dodatkowo

wiersz.setAttribute("id", unikatowe_id);

a pod przycisk usuń podepnij

document.getElementById(unikatowe_id).remove();
komentarz 23 lipca 2016 przez Patryk Rafał Bywalec (2,700 p.)
robiąc alerta dostaje undefined co jest grane ?
komentarz 23 lipca 2016 przez Patryk Rafał Bywalec (2,700 p.)
bo mam dwa przyciski i chce rozdzielić akcje dla nich i chce wykonywać instrukcje edycji i usuwania wiersza w tabeli sprawdzając nazwę przycisku
komentarz 23 lipca 2016 przez Patryk Rafał Bywalec (2,700 p.)
function usun()
{

  var nazwaButtona = document.createTextNode('usuń');
  var button = document.createElement('button');
  var komorka3 = document.createElement('td');

  button.appendChild(nazwaButtona);
  komorka3.appendChild(button);
  wiersz.appendChild(komorka3);
  tabelka.appendChild(wiersz);



  for(var i=0; i<tab.length; i++)
  {

      tab[i].onclick = function()
      {
          if(nazwaButtona.name == 'usuń') // chcę sprawdzić nazwę tego przycisku ale to nie działa
          {
            document.getElementById('tabelka').deleteRow(tab[i]);
          }

      }

  }



  var tButton = document.getElementsByTagName('button');

  for(var i=0; i<tButton.length; i++)
  {
    tButton[i].className = 'po';
  }


}

 

komentarz 23 lipca 2016 przez ScriptyChris Mędrzec (190,190 p.)
edycja 23 lipca 2016 przez ScriptyChris

Sprawdź co jest pod tym przyciskiem console.log(nazwaButtona) czy on w ogóle ma atrybut name? Może miałeś na myśli coś innego mówiąc "nazwa"?

Blah...

  var nazwaButtona = document.createTextNode('usuń');

Co to jest? Jeśli chcesz nadać atrybut name, to zapisz button.name = 'usuń';

button.appendChild(nazwaButtona);

Tego nie trzeba. Metoda element.appendChild() dodaje element HTML (jako dziecko) do innego elementu HTML (rodzica). Atrybutów się w ten sposób nie dodaje.

Inna rzecz:

  for(var i=0; i<tab.length; i++)
  {
       tab[i].onclick = function()
      {
          if(nazwaButtona.name == 'usuń') // chcę sprawdzić nazwę tego przycisku ale to nie działa
          {
            document.getElementById('tabelka').deleteRow(tab[i]);
          } 
      } 
  }

Tworząc w ten sposób onclick (w pętli) powodujesz, że w momencie gdy rzeczywiście na niego będziesz klikał, to i będzie miało ostatnią wartość iteratora z pętli for - poczytaj o closures http://benalman.com/news/2010/11/immediately-invoked-function-expression/ (akapit "Saving state with closures").

Dlatego zapisz pętle w ten sposób:

for(var i=0; i<tab.length; i++)
  {
      (function ( index )
      {
         tab[i].onclick = function()
         {
               if(button.name === 'usuń') // od razu poprawiony IF - jeśli o to Ci chodziło
               {
                   document.getElementById('tabelka').deleteRow(tab[ index ]);
               } 
         } 
     } ( i ) );
  }
komentarz 24 lipca 2016 przez Patryk Rafał Bywalec (2,700 p.)
edycja 24 lipca 2016 przez Patryk Rafał

Sprawdziłem kolego i jak kliknę nawet na inny przycisk do przypisuje mi nazwe pierwszego przycisku. Już wyjaśniam o co mi chodzi np, klikam sobie na przycisk usuń i pokazuje dobrze, ale jak klikam przycisk edycja to także przypisuje mi nazwę usuń zamiast edycja.

 

function usun()
{

  var nazwaButtona = document.createTextNode('usuń');
  var button = document.createElement('button');
  var komorka3 = document.createElement('td');
  var edycja = document.createElement('button');
  var nameE = document.createTextNode('edycja');
  var komorka4 = document.createElement('td');


  button.appendChild(nazwaButtona);

  komorka3.appendChild(button);
  wiersz.appendChild(komorka3);
  edycja.appendChild(nameE);
  komorka4.appendChild(edycja);
  wiersz.appendChild(komorka4);
  tabelka.appendChild(wiersz);

  button.name = 'usuń';
  edycja.name = 'edycja';

  var t = document.getElementById('usuń');

  for(var i=0; i<tab.length; i++)
  {

      tab[i].onclick = function()
      {
            numeracja();
            console.log(nazwaButtona);
      }

  }



  var tButton = document.getElementsByTagName('button');

  for(var i=0; i<tButton.length; i++)
  {
    tButton[i].className = 'po';
  }


}

 

Podobne pytania

0 głosów
1 odpowiedź 304 wizyt
0 głosów
1 odpowiedź 1,081 wizyt
pytanie zadane 19 listopada 2017 w JavaScript przez ebone Nowicjusz (140 p.)
0 głosów
2 odpowiedzi 1,285 wizyt
pytanie zadane 7 listopada 2017 w JavaScript przez turtelian Obywatel (1,760 p.)

92,757 zapytań

141,679 odpowiedzi

320,441 komentarzy

62,101 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.

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...