Avatar billede karsten_larsen Praktikant
22. juli 2003 - 14:02 Der er 8 kommentarer og
1 løsning

valg af select bokse med forskellige name og grupper!

Dette er vist ved at blive noget af en historie. (http://www.eksperten.dk/spm/378114 og http://www.eksperten.dk/spm/377952)

Det første problem var at få en [Alle] checkbox deaktiveret, hvis man trykker på f.eks. valgt checkbox. f.eks. valg1 (det lykkedes i http://www.eksperten.dk/spm/377952)

Det andet problem var, at få alle checkbox til at havde hvert sit unikke navn. Det lykkedes i (http://www.eksperten.dk/spm/378114)

Problemet er nu:

Atjeg kommer til at have flere grupper af checkbokse i den samme form

Scriptet skal kunne vælge:
Gruppe 1
Checkbox [alle kun for gruppe 1]
Checkbox [valg 1]
Checkbok [valg 2]
etc.

Gruppe 2
Checkbox [alle kun for gruppe 2]
Checkbox [valg 1]
Checkbok [valg 2]
etc.

Så vidt jeg kan finde ud af så duer scriptet fra løsning 2 til det da det køre på type og script fra løsning 1 kunne ikke håndtere forskellige navne

??:-)
Avatar billede karsten_larsen Praktikant
22. juli 2003 - 14:36 #1
Jeg har fundet dette script på http://www.google.dk/search?q=cache:HkJayb7QYSEJ:forums.devshed.com/archive/1/2002/01/4/29684+Check/Uncheck+A+Group+Of+Checkboxes&hl=da&ie=UTF-8

Med det viser en fejl i linie 10?

<html>
<head>
<title>untitled</title>
<script type="text/javascript">

function checkUncheckAll(box) {
var currEl, currForm = box.form, c = 0;
for (c; c<currForm.length; ++c) {
currEl = currForm[c];
if (currEl == box) {
while (currForm[--c].type == 'checkbox' && currForm[c].name != 'checkall') {
currForm[c].checked = box.checked;
}
break;
}
}
}

</script>
</head>
<body onload="document.forms[0].reset()">
<form>
<input type="checkbox" name="nameone" value="1">Name One<br>
<input type="checkbox" name="nametwo" value="1">Name Two<br>
<input type="checkbox" name="namethree" value="1">Name Three<br>
<input type="checkbox" name="namefour" value="1">Name Four<br>
<input type="checkbox" name="namefive" value="1">Name Five<br>
<input type="checkbox" name="namesix" value="1">Name Six<br>
<input type="checkbox" name="checkall"
onclick="checkUncheckAll(this)"><strong>Check/Uncheck All</strong>
<hr>
<input type="checkbox" name="nameseven" value="1">Name Seven<br>
<input type="checkbox" name="nameeight" value="1">Name Eight<br>
<input type="checkbox" name="namenine" value="1">Name Nine<br>
<input type="checkbox" name="nameten" value="1">Name Ten<br>
<input type="checkbox" name="nameeleven" value="1">Name Eleven<br>
<input type="checkbox" name="nametwelve" value="1">Name Twelve<br>
<input type="checkbox" name="checkall"
onclick="checkUncheckAll(this)"><strong>Check/Uncheck All</strong>
</form>
</body>
</html>
Avatar billede grunken Nybegynder
22. juli 2003 - 14:43 #2
kunne osse bare ændre lidt i de scripts du allerede har fået stukket i hånde eks.

<script type="text/javascript">
function vaelgAlle(obj) {
  frm = obj.form;
  for (i = 0; i < frm.elements.length; i++) {
    if (frm.elements[i].type == "checkbox" && frm.elements[i].name.substring(1,5) == obj.name.substring(1,5))
      frm.elements[i].checked = obj.checked;
  }
}
</script>

<form>
<input type="checkbox" name="grup1alle" onclick="vaelgAlle(this);">Alle valg<br>
<input type="checkbox" name="grup1navn1" value="1">Valg1<br>
<input type="checkbox" name="grup1navn2" value="2">Valg2<br>
<b>Gruppe2</b><br>
<input type="checkbox" name="grup2alle" onclick="vaelgAlle(this);">Alle valg<br>
<input type="checkbox" name="grup2navn1" value="1">Valg1<br>
<input type="checkbox" name="grup2navn2" value="2">Valg2<br>
<b>Gruppe3</b><br>
<input type="checkbox" name="grup3alle" onclick="vaelgAlle(this);">Alle valg<br>
<input type="checkbox" name="grup3navn1" value="1">Valg1<br>
<input type="checkbox" name="grup3navn2" value="2">Valg2<br>
Avatar billede karsten_larsen Praktikant
22. juli 2003 - 15:03 #3
-> grunken jeg er total novice javascript.


Er det muligt at få denne funktion med igen:

<input type="checkbox" name="navn3" value="3" onclick="if (!this.checked) this.form.alle.checked = false;" />Valg3<br />

Så at krydset fjernes i [ALLE] , nå man fravælger et valg f.eks. valg2 efter man har trykker på alle

:-) k_l
Avatar billede grunken Nybegynder
22. juli 2003 - 15:42 #4
kunne passende lave en lille funktion til det osse :)

<script type="text/javascript">
function vaelgAlle(obj) {
  frm = obj.form;
  for (i = 0; i < frm.elements.length; i++) {
    if (frm.elements[i].type == "checkbox" && frm.elements[i].name.substring(0,5) == obj.name.substring(0,5))
      frm.elements[i].checked = obj.checked;
  }
}
function fjernAlle(obj){
  frm = obj.form;
  for (i = 0; i < frm.elements.length; i++) {
    if (frm.elements[i].type == "checkbox" && frm.elements[i].name.substring(0,5) == obj.name.substring(0,5) && frm.elements[i].name.substring(5)=="alle")
      frm.elements[i].checked = false;
  }
}
</script>

<form>
<input type="checkbox" name="grup1alle" onclick="vaelgAlle(this);">Alle valg<br>
<input type="checkbox" name="grup1navn1" value="1" onclick="fjernAlle(this);">Valg1<br>
<input type="checkbox" name="grup1navn2" value="2" onclick="fjernAlle(this);">Valg2<br>
<b>Gruppe2</b><br>
<input type="checkbox" name="grup2alle" onclick="vaelgAlle(this);">Alle valg<br>
<input type="checkbox" name="grup2navn1" value="1" onclick="fjernAlle(this);">Valg1<br>
<input type="checkbox" name="grup2navn2" value="2" onclick="fjernAlle(this);">Valg2<br>
<b>Gruppe3</b><br>
<input type="checkbox" name="grup3alle" onclick="vaelgAlle(this);">Alle valg<br>
<input type="checkbox" name="grup3navn1" value="1" onclick="fjernAlle(this);">Valg1<br>
<input type="checkbox" name="grup3navn2" value="2" onclick="fjernAlle(this);">Valg2<br>
Avatar billede karsten_larsen Praktikant
22. juli 2003 - 17:40 #5
-> grunken

Det fungerer efter hensigten - tusind tak for hjælpen.

Vil du lave et svar?

På en skala fra 1 til 10,hvor 10 er meget avanceret javescript programmering, hvor ligge det så henne? Jeg vil gerne vide om det er let at lære?

:-)) karsten_larsen
Avatar billede grunken Nybegynder
22. juli 2003 - 18:30 #6
hmm

Det er dælme et svært spørgsmål ;D

men det kan rent faktisk ligge på alt fra 1 til 10 alt efter hvor god du er til at lære logikken i programmering!

men har du først set logikken, samt opbygningen af js ;D, så er det en etter ;)

Jeg selv er osse js. newbee (har kun rodet med det selv i et halvt års tid)

måske er denne bog god at starte med for dig!

http://www.html.dk/books/8757123462/
Avatar billede karsten_larsen Praktikant
23. juli 2003 - 07:51 #7
-> Grunken - tak for linket. Rart at vide, at det er til at lære - det vil jeg sætte noget tid af til.

:-) karsten_larsen
Avatar billede Slettet bruger
23. juli 2003 - 12:07 #8
JavaScript er ekstremt let at komme i gang med. Man skal dog sørge for at lære de grundlæggende principper godt, før man kommer videre. Hvis man haster igennem, ødelægger man sine egne chancer.

Til gengæld bliver sproget meget kompliceret senere hen, da det afhænger af fortolkeren, dvs. browseren. Det kræver, at man tager hensyn til enormt meget i sin programmering, og det ender med at disse hensyn sluger mere end 50% af kodetiden. :)
Avatar billede karsten_larsen Praktikant
23. juli 2003 - 16:58 #9
-> phoenixv:
Det er rart at vide med fortolkeren, nu er det første gang jeg har været nødtil at bruge javascript udover open/close window.

Jeg har det sådan, at al kode som jeg bruger skal jeg kunne forstå - så første projekt bliver at "lege" med dette script.

tak for din kommentar

:-) karsten_larsen
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester