Autor | Zpráva | ||
---|---|---|---|
gogy27 Profil |
#1 · Zasláno: 12. 8. 2010, 16:04:19
Zdravim,
mam problem s tymto JS scriptom. Je to skript na zaskrtnutie vsetkych checkboxov. Je pravda, ze funguje lenze naopak. Ak zaskrtnem to policko pre zaskrtnutie vsetkych checkboxov taks a neudeje nic ale ked ho potom hned odskrtnem tak sa zaskrtnu vsetky ostatne. Mohli by ste prosim pozriet kde mam chybu? Dakujem <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> <?php . . . while($vypis2 = mysql_fetch_array($query3)) { echo "<tr><td class='tdn' valign='top'><input type='checkbox' name='id_mazat[]' value='".$vypis2['id']."'></td><td class='tdn' valign='top'>" . $vypis2['datum'] . "</td><td class='tdn' valign='top'><a href='main.php?clanek=prijate_spravy&id=".$vypis2['id']."'>". $vypis2['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>"; ?> |
||
Tori Profil |
#2 · Zasláno: 12. 8. 2010, 20:53:12
gogy27:
Funguje to možná naopak než chcete, nicméně přesně, jak je napsáno :-) var elmnt = frm.elements[i]; if (elmnt.type=='checkbox') { if (frm.master_box.checked == true) { elmnt.checked=false; } else { elmnt.checked=true; } // = pokud je master_box zaškrtnutý, tak tento checkbox odškrtni (a naopak) } Zajímavější spíš je, pokud master_box je součástí téhož formuláře jako ty ostatní checkboxy. Pak totiž taky patří mezi frm.elements[], takže když na něj přijde řada v cyklu for, nejdřív zjistí svůj stav a pak ho změní. Výsledek: všechny checkboxy, na které přišla řada před master_boxem (pokud vůbec nějaké) se změní, master_box se změní, a všechny následující checkboxy zůstanou beze změny. Chtělo by to přidat kontrolu, aby se neměnila hodnota master_boxu, a pak už je jedno, jestli uděláte, aby ta ostatní zaškrtávátka kopírovala jeho stav, nebo naopak. |
||
Časová prodleva: 14 let
|
0