Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript] Zaznaczanie kontrolek
island
post
Post #1





Grupa: Zarejestrowani
Postów: 67
Pomógł: 1
Dołączył: 7.09.2008

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


Czy jest możliwość zaznaczenia wszystkich checkboxów w obrębie jednego div'a.
Kombinuje z czymś takim , ale nie działa

Kod
document.getElementById(div_name).getElementsByTagName('checkbox').checked = true;


Ten post edytował island 21.01.2009, 10:00:52
Powód edycji: bbcode
Go to the top of the page
+Quote Post
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Kod
getElementsByTagName('checkbox')

Chyba input, a nie checkbox. (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
island
post
Post #3





Grupa: Zarejestrowani
Postów: 67
Pomógł: 1
Dołączył: 7.09.2008

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


W taki sposób też nie działa, chyba, że coś źle robię.

Kod
    document.getElementById(div_name).getElementsByTagName('input').checked = true;


Opisze problem dokładniej: Mam formularz z osobami (osoby są zapisane w db). Przy każdym nazwisku są checkboxy do zaznaczania. Osoby są przydzielone do poszczególnych grup. Chciałbym poprzez naciśnięcie jednego przycisku (na formularzu będzie osobny przycisk dla każdej grupy) została zaznaczona cała grupa. Nie wiem jak mam to zrobić?

Próbowałem tworzyć osobne pudełka dla każdej grupy
Kod
<div id="id_grupy">  lista osób w obrębie jednej grupy </div>
ale nie wiem jak zaznaczyć wszystkie checkboxy w obrębie jednego pudełka.

Ten post edytował island 21.01.2009, 10:01:42
Go to the top of the page
+Quote Post
erix
post
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Kod
document.getElementById(div_name).getElementsByTagName('input').checked = true;

Bo to jest tablica obiektów, a nie jeden obiekt. (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Przeiteruj zwróconą tablicę i będzie ok.
Go to the top of the page
+Quote Post
island
post
Post #5





Grupa: Zarejestrowani
Postów: 67
Pomógł: 1
Dołączył: 7.09.2008

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


Mogę zaznaczyć wszystkie kontrolki w całym formularzu, ale nie mogę zaznaczyć ich w obrębie jednego diva!!
Proszę o wskazanie błędu - oto kod

Kod
var all;
    all = document.getElementById(div_name).getElementsByTagName('input').length +  document.getElementById(div_name).getElementsByTagName('checkbox').length;
    
    for (i=0; i<all; i++)
    {
      document.getElementById(id_group).elements[i].checked = true;
    }
Go to the top of the page
+Quote Post
ziqzaq
post
Post #6





Grupa: Zarejestrowani
Postów: 428
Pomógł: 128
Dołączył: 17.06.2007

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


1) Nie kumam dlaczego nie słuchasz ~erixa.
Gdzie w kodzie masz tag "<checkbox />"?
Cytat
getElementsByTagName('checkbox')

2) Robiąc coś takiego:
Kod
all = document.getElementById(div_name).getElementsByTagName('input')

Dostajesz w wyniku obiekt NodeList (wystarczy alert(all) i zobaczysz). Jak się dorwać to listy elementów w tym obiekcie? Ano tak: obj.item(i).
Na koniec przykładowy kod:
Kod
function zaznacz() {
    // Tu pobieram elementy (input!) z diva o nazwie 'divek'
    var elementy = document.getElementById('divek').getElementsByTagName('input');
    for( i = 0; i < elementy.length; i++){
        el = elementy.item(i); // Pobieram element
        if( el.type == 'checkbox' ){ // Tu sprawdzam czy element (input) jest checkboxem
            el.checked = true;
        }
    }
    return false;
}


PS Kod sprawdzany tylko na Operze 9.62 i FF 3, nie wiem czy IE nie będzie miał jakichś "jazd" przy tym kodzie.

Ten post edytował ziqzaq 21.01.2009, 13:49:12
Go to the top of the page
+Quote Post
island
post
Post #7





Grupa: Zarejestrowani
Postów: 67
Pomógł: 1
Dołączył: 7.09.2008

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


Oj wielkie dzięki ziqzaq (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Również dziękuję erixowi za naprowadzenie mnie na właściwe tory. W IE 7 skrypt działa.
Pozdrawiam

Ten post edytował island 21.01.2009, 14:14:56
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 3.10.2025 - 12:24