Autor Zpráva
gogy27
Profil
Zdravim,

Prosím vás nemohli by ste mi poradiť ako sa robi tlačítko, ktoré po stlačení zaškrtne všetky checkboxy?
Tomashek
Profil
function check_uncheck(form){
        var frm = document.forms[form];
        for (var i=0;i<frm.elements.length;i++) {
                var elmnt = frm.elements[i];
                if (elmnt.type=='checkbox') {
                        if(frm.master_box.checked == true){ elmnt.checked=false; }
            else{ elmnt.checked=true; }
                }
        }
        if(frm.master_box.checked == true){ frm.master_box.checked = false; }
    else{ frm.master_box.checked = true; }
}


<input type="checkbox" name="master_box" title="Označit všechny" onclick="javascript:check_uncheck('nazev formu, v kterem bude zaskrtnute')">
gogy27
Profil
Mám to teraz takto ale po oznaceni mi to nic nerobi ale az potom ked to zas odznacim tak sa oznacia vsetky checkboxy a ked to zaznacim tak sa vsetky checkboxy odznacia
<form method="POST" action="vymazat_spravy.php" name="form">
<script type="text/javascript"><!--
function check_uncheck(form){
        var frm = document.forms[form];
        for (var i=0;i<frm.elements.length;i++) {
                var elmnt = frm.elements[i];
                if (elmnt.type=='checkbox') {
                        if(frm.master_box.checked == true){ elmnt.checked=false; }
            else{ elmnt.checked=true; }
                }
        }
        if(frm.master_box.checked == true){ frm.master_box.checked = false; }
    else{ frm.master_box.checked = true; }
}
//--></script>
while($vypis = mysql_fetch_array($query3))
{
echo "<tr><td class='tdn' valign='top'><input type='checkbox' name='id_mazat[]' value='".$vypis['id']."'></td><td  class='tdn' valign='top'>" . $vypis['datum'] . "</td><td class='tdn' valign='top'><a href='main.php?clanek=prijate_spravy&id=".$vypis['id']."'>". $vypis['predmet'] . "</a></td></tr>";
}
echo "<tr><td colspan=3 class='tdn' valign='top'><input type=submit name='vymazat' value='Vymazať označené správy'></td></tr>";
?>
<tr><td colspan=3 class='tdn' valign='top'><input type="checkbox" name="master_box" title="Označiť všetky" onclick="javascript:check_uncheck('form')"></td></tr>
DJ Miky
Profil
Řádky
                        if(frm.master_box.checked == true){ elmnt.checked=false; }
            else{ elmnt.checked=true; }

(v tebou poslaném kódu číslo 8 a 9)

zkus nahradit tímto
                        elmnt.checked=frm.master_box.checked;
gogy27
Profil
DJ Miky
Nepomohlo. Teraz po stlaceni nic neoznaci, ale ak mam oznacene vsetky polia tak ich iba odskrtne
Taps
Profil
gogy27
zkus
function vyberVse(t){
for(i=0; i<t.length; i++) 
  {
    t[i].checked=t[t.length-1].checked;
  }
}  
<input type="checkbox" name="uzivateleID[]" onclick="vyberVse(this.form['id_mazat[]'])">Označit vše
gogy
Profil *
Taps
bohuzial, ale ani toto nefunguje.
Nemusi to byt prave checbox moze to byt aj nejaky button ktory po stlaceni oznaci vsetky checkboxi.
Taps
Profil
gogy
Zkus dát javascripty nad značku form
gogy27
Profil
Taps
Ani toto nepomohlo.
Zatial najlepsie bolo toto:
<script type="text/javascript"><!--
function check_uncheck(form){
        var frm = document.forms[form];
        for (var i=0;i<frm.elements.length;i++) {
                var elmnt = frm.elements[i];
                if (elmnt.type=='checkbox') {
                        if(frm.master_box.checked == true){ elmnt.checked=false; }
            else{ elmnt.checked=true; }
                }
        }
        if(frm.master_box.checked == true){ frm.master_box.checked = false; }
    else{ frm.master_box.checked = true; }
}
//--></script>

<form method="POST" action="vymazat_spravy.php" name="form">
<?php
while($vypis = mysql_fetch_array($query3))
{
echo "<tr><td class='tdn' valign='top'><input type='checkbox' name='id_mazat[]' value='".$vypis['id']."'></td><td  class='tdn' valign='top'>" . $vypis['datum'] . "</td><td class='tdn' valign='top'><a href='main.php?clanek=prijate_spravy&id=".$vypis['id']."'>". $vypis['predmet'] . "</a></td></tr>";
}
echo "<tr><td colspan=3 class='tdn' valign='top'><input type=submit name='vymazat' value='Vymazať označené správy'></td></tr>";
?>
<tr><td colspan=3 class='tdn' valign='top'><input type="checkbox" name="master_box" title="Označiť všetky" onclick="javascript:check_uncheck('form')">Označit vše</td></tr>
?>

ale toto robi tak, ze ak mam oznaceny ten checbox na oznacenie vsetkych tak ostatne checboxy mam neoznacene a ked ho mam neoznacene tak vsetky checkboxy su oznacene.
Tomashek
Profil
Ten kód mám v externím souboru a tak mně to funguje správně.
Honzisman
Profil *
!!!Tomashek to má good!!!
Mě to funguje perfektně i na stovky checkboxů (tahám z databáze).
Díky Tomashku! ;-)

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: