Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JS]Problem z funkcją dodającą wiersze do tabeli
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
artur81
Mam tabelę z 10 wierszami. Pierwszy jest widoczny dla pozostałych 9 ustawiłem w CSS display:none;
Na końcu każdego z wierszy jest checkbox, który gdy go zaznaczę zmienia dispaly na table-row.
Działa to tak że po kliknięciu dodaje mi nowy wiersz.
Mam dziesięć tych wierszy o id = wiersz1, wiersz2, wiersz3 itd
Chciałbym napisać funkcję, która automatycznie przy zaznaczeniu checkboxa będzie mi zmieniać wartość display dla wiersza poniżej czyli.

Jestem na koncu wiersza1, zaznaczam checkbox pojawia się wiersz2. Odznaczam - wiersz2 znika.

Mam problem z funkcją, nie wiem jak połączyć numer wiersza ze słowem towar, ktore razem (np towar1, towar2 itd) są kolejnymi identyfikatorami checkboxów. Jeśli niejasno się wyraziłem napiszcie co jest niezrozumiałe, to sformułuję pytanie inaczej. Fragment z którym mam problem to towar+id
  1. function pokaz(id) {
  2. if ( document.forms[0].towar+id.checked) {
  3. $("wiersz"+id).style.display="table-row"; }
  4. else {
  5. $("wiersz"+id).style.display="none";}
  6. }


Macie jakiś pomysł?
ferr
  1. <?php
  2. function pokaz(id) {
  3. cel = "towar"+id;
  4. if ( document.forms[0].cel.checked) {
  5. $("wiersz"+id).style.display="table-row"; }
  6. else {
  7. $("wiersz"+id).style.display="none";}
  8. }
  9. ?>


?
artur81
Pomysłowe, ale niestety nie działa
Dostaję
  1. Błąd: document.forms[0].cel has no properties
ferr
Ee, pardon, na starosc glupi sie robie... winksmiley.jpg

  1. <?php
  2. function pokaz(id) {
  3. cel = "towar"+id;
  4. if ( document.forms[0].elements[cel].checked) {
  5. $("wiersz"+id).style.display="table-row"; }
  6. else {
  7. $("wiersz"+id).style.display="none";}
  8. }
  9. ?>


tak?
artur81
niestety nie, teraz co prawda błąd nie wyskakuje ale też nic się nie dzieje.
Kosola JS w WebDeveloperze nie pokazuje błędów.
Sprawdzałem jeszcze na IE6 - też nie działa.
Niby powinno być ok, ale nie wiem dlaczego nie chce hulać.
ferr
No to znajac zycie, musisz miec blad gdzies indziej. Zdebuguj skrypt, wstaw alerty po ifie w podanym przeze mnie przykladzie, wyciagnij wnioski winksmiley.jpg.
artur81
Sprawdzałem już i tak, nie siedziałem bezczynnie przez tyle czasu, w każdym razie sprawa jest na tyle pilna że musiałem to zrobić zupełnie inaczej.
gekon
  1. function pokaz(id) {
  2. var checkbox = document.forms[0].elements['towar'+id];
  3. var row = document.getElementById('wiersz'+id);
  4. checkbox.checked ? row.style.display = 'block' : row.style.display = 'none';
  5. return true;
  6. }


Ale radziłbym, jeżeli nie sprawi to problemu, dać checkboxom id i wtedy wyłuskiwać je jak wiersze tabeli.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.