09. juni 2008 - 08:12
Der er
4 kommentarer
Tjek på checkboxe
Hvis jeg har 4 checkboxe, hvordan laver jeg så en funktion som ved tryk på en knap tjekker alle boxe, hvis der ikke er tjekket nogle i forvejen. Er en eller flere bokse tjekket af i forvejen skal der intet ske. På forhånd tak.
Annonceindlæg fra Hitachi
”Forskellighed gør os stærkere!”
Diversitet er ikke kun buzzwords og politisk korrekthed, men et spørgsmål om at alle føler sig godt tilpas og kan yde deres bedste.
31. januar 2025
Hvad mener du med "tjekket nogle i forvejen"? Og hvad skal der ske? Du tjekker sådan her: <button onclick="CheckCheckboxes()">Check Checkbokse</button> <script type="text/javascript"> function CheckCheckboxes(){ var a=["id1","id2","id3","id4"]; var iCount=0; for(var i=0;i<a.length;i++){ if(document.getElementById(a[i]).getAttribute("checked"))iCount++ } if(iCount==0)alert("Der er ikke checket nogle checkbokse!") } </script> Så skal du definere id'erne på checkboksene her: var a=["id1","id2","id3","id4"];
Er det de eneste checkboxe ?-) Så måske: <form action=" ... " method="post"> <button onclick="CheckCheckboxes(this.form);return false;">Check Checkbokse</button><br> <input type="checkbox"><br> <input type="checkbox"><br> <input type="checkbox"><br> <input type="checkbox"><br> <input type="submit"> </form> <script type="text/javascript"> function CheckCheckboxes(f){ var chckd = false,inps = f.getElementsByTagName("input"); for(var i=0,im=inps.length;im>i;i++){ chckd = chckd || inps[i].type == "checkbox" && inps[i].checked; } if(!chckd) for(var i=0,im=inps.length;im>i;i++){ inps[i].checked = true; } } </script> >>w13 -- bemærk at jeg læser og sætter attributten med html3.2/4.0 trans DOM, da xhtml-DOM alligvel bør returnere den indstilling, dokumentet havde ved indlæsningen !-)
Nu forstår jeg, hvad spørgeren ville. =) Ja, okay, så gør min kode ikke helt det rigtige. Hvis det ikke er alle checkbokse, det drejer sig om, kan Roenvings kode også ændres til: <form action=" ... " method="post"> <button onclick="CheckCheckboxes(this.form);return false;">Check Checkbokse</button><br> <input type="checkbox"><br> <input type="checkbox"><br> <input type="checkbox"><br> <input type="checkbox"><br> <input type="submit"> </form> <script type="text/javascript"> function CheckCheckboxes(f){ var chckd = false,inps = ["id1","id2","id3"]; for(var i=0,im=inps.length;im>i;i++){ chckd = chckd || inps[i].type == "checkbox" && inps[i].checked; } if(!chckd) for(var i=0,im=inps.length;im>i;i++){ inps[i].checked = true; } } </script> På den måde vil du, ligesom i mit svar, kunne vælge checkboksene ud fra id.
-- der var du nok noget for kortfattet, først og fremmst skal de aktuelle checkboxe have et id: <input id="id3" type="checkbox"><br> -- dernæst skal referencen til elementerne være i orden: chckd = chckd || document.getElementById(inps[i]).type == "checkbox" && document.getElementById(inps[i]).checked; -- og document.getElementById(inps[i]).checked = true;
Vi tilbyder markedets bedste kurser inden for webudvikling