Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JS]Problem z funkcją dodającą wiersze do tabeli
artur81
post 16.02.2007, 18:21:38
Post #1





Grupa: Zarejestrowani
Postów: 252
Pomógł: 2
Dołączył: 4.12.2004
Skąd: Skierniewice

Ostrzeżenie: (10%)
X----


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ł?


--------------------
Go to the top of the page
+Quote Post
ferr
post 16.02.2007, 19:46:28
Post #2





Grupa: Zarejestrowani
Postów: 122
Pomógł: 3
Dołączył: 18.12.2004

Ostrzeżenie: (0%)
-----


  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. ?>


?


--------------------
Go to the top of the page
+Quote Post
artur81
post 16.02.2007, 20:34:59
Post #3





Grupa: Zarejestrowani
Postów: 252
Pomógł: 2
Dołączył: 4.12.2004
Skąd: Skierniewice

Ostrzeżenie: (10%)
X----


Pomysłowe, ale niestety nie działa
Dostaję
  1. Błąd: document.forms[0].cel has no properties


--------------------
Go to the top of the page
+Quote Post
ferr
post 16.02.2007, 20:55:00
Post #4





Grupa: Zarejestrowani
Postów: 122
Pomógł: 3
Dołączył: 18.12.2004

Ostrzeżenie: (0%)
-----


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?

Ten post edytował ferr 16.02.2007, 20:55:55


--------------------
Go to the top of the page
+Quote Post
artur81
post 17.02.2007, 09:51:47
Post #5





Grupa: Zarejestrowani
Postów: 252
Pomógł: 2
Dołączył: 4.12.2004
Skąd: Skierniewice

Ostrzeżenie: (10%)
X----


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ć.


--------------------
Go to the top of the page
+Quote Post
ferr
post 17.02.2007, 11:08:30
Post #6





Grupa: Zarejestrowani
Postów: 122
Pomógł: 3
Dołączył: 18.12.2004

Ostrzeżenie: (0%)
-----


No to znajac zycie, musisz miec blad gdzies indziej. Zdebuguj skrypt, wstaw alerty po ifie w podanym przeze mnie przykladzie, wyciagnij wnioski winksmiley.jpg.


--------------------
Go to the top of the page
+Quote Post
artur81
post 17.02.2007, 14:41:24
Post #7





Grupa: Zarejestrowani
Postów: 252
Pomógł: 2
Dołączył: 4.12.2004
Skąd: Skierniewice

Ostrzeżenie: (10%)
X----


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.


--------------------
Go to the top of the page
+Quote Post
gekon
post 17.02.2007, 16:36:24
Post #8





Grupa: Zarejestrowani
Postów: 614
Pomógł: 7
Dołączył: 10.11.2003
Skąd: Rzeszów/Kraków

Ostrzeżenie: (0%)
-----


  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.


--------------------
Pokaż kod = Pokaż CAŁY kod, najlepiej działający na jakimś serwerze.
Fanatycy | glazar.info | semantyka | HTML i XHTML FAQ
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.07.2025 - 14:29