Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [javascript] Zaznaczanie "widzialnych" checkboxów
Immortal
post
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? smile.gif

Być może rozwiązanie jest banalne, ale ja mam dość poważne problemy z "myśleniem w javascript"... rolleyes.gif
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
FiDO
post
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 :/
Go to the top of the page
+Quote Post
Immortal
post
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ę winksmiley.jpg).
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.
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 Aktualny czas: 19.08.2025 - 16:05