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 Novataris
Vejen til devops med Bavarian Nordic
Bavarian Nordics vækst blev starten på et DevOps-samarbejde med Novataris for hurtigt at kunne tilpasse IT-organisation til forretningen.
7. december 2023
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