![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 11.05.2002 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Drążę temat checkboxów (http://forum.php.pl/viewtopic.php?t=7633) w nowym wątku, po kwestia jest nieco odmienna.
Tym razem mam funkcję, która zmienia display elementu o określonym id na none/block: Kod function ChangeVisibility(id)
{ if(document.all) { if( document.all[id].style.display == 'none') { document.all[id].style.display = 'block'; } else { document.all[id].style.display = 'none'; } } else { firstlayer = document.getElementById(id); if( firstlayer.style.display == 'none') { firstlayer.style.display = 'block'; } else { firstlayer.style.display = 'none'; } } } I mam też funkcję (dzięki uprzejmości FiDO) zaznaczającą checkboxy, które obecnie znajdują się w wielu tabelach: Kod function checkAll(form, fields)
{ elts = document.forms[form].elements[fields]; if(document.forms[form].checkall.value == 'Zaznacz wszystkie') { document.forms[form].checkall.value = 'Odznacz wszystkie'; val = true; } else if(document.forms[form].checkall.value == 'Odznacz wszystkie') { document.forms[form].checkall.value = 'Zaznacz wszystkie'; val = false; } for (i = 0; i < elts.length; i++) elts[i].checked = val; } Nie chcę robić osobnego przycisku "Zaznacz/Odznacz wszystkie", dla każdej tabeli, wolałbym przerobić funkcję tak, by zaznaczała/odznaczała wszystkie checkboxy w "widzialnych" tabelach. Pytanie: jak? ![]() Być może rozwiązanie jest banalne, ale ja mam dość poważne problemy z "myśleniem w javascript"... ![]() |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 717 Pomógł: 0 Dołączył: 12.06.2002 Skąd: Wolsztyn..... Studia: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
Pokaz kawalek kodu html z tymi tabelkami zawierajacymi checkboxy.
-------------------- Brak czasu :/
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 11.05.2002 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Hmm, kod jest dość skomplikowany (czyt. śmietnik, w którym tylko ja, i to jedynie od czasu do czasu, się orientuję
![]() Spróbuję podać to, co najważniejsze. Otóż najpierw wczytywana jest z pliku lista nazw, która zostaje następnie posortowana alfabetycznie. Uzyskujemy np. coś takiego: Ananasy 1 szt. Ananasy 5 szt. Ananasy 10 szt. Banany 1 szt. Banany 5 szt. Banany 10 szt. itp. Funkcja wyświetla nazwy, dzieląc je na kategorie wg pierwszego wyrazu. Otrzymujemy więc dwie podkategorie (w przykładzie Ananasy i Banany), których nazwa wyświetlana jest w ten sposób: Kod <a href="#" onClick="ChangeVisibility('<?=$nazwa_kategorii;?>');"><?=$nazwa_kategorii;?> </a>
Pod nią zaś: Kod <table id="<?=$nazwa_kategorii;?>" cellspacing="1" cellpadding="3" style="display: block;">
W tej tabeli wyświetlane są wszystkie elementy kategorii, wraz z checkboxami: Kod <input type="checkbox" name="do_compare[]" value="<?=$i;?>">
Jeżeli wczytywany element ma, jako pierwszy, inny wyraz, niż obecna nazwa kategorii, zostaje wstawione zamknięcie tabeli, link rozwijający kolejną kategorię i początek tabeli na nową kategorię. To chyba tyle. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 16:05 |