• 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
471 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ź 264 wizyt
0 głosów
1 odpowiedź 1,071 wizyt
pytanie zadane 19 listopada 2017 w JavaScript przez ebone Nowicjusz (140 p.)
0 głosów
2 odpowiedzi 1,231 wizyt
pytanie zadane 7 listopada 2017 w JavaScript przez turtelian Obywatel (1,760 p.)

92,581 zapytań

141,433 odpowiedzi

319,666 komentarzy

61,966 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

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

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!

...