Avatar billede steen_hansen Forsker
17. juni 2005 - 09:31 Der er 15 kommentarer og
2 løsninger

Marker alle/Fjern markering fra alle v.hj.a. checkbox

Jeg trækker en masse beskeder ud gennem en løkke v.hj.a. VB. Man skal kunne markere alle beskederne ved at trykke i en checkbox. Ligeledes skal man kunne fjerne alle markeringerne ved at trykke igen. Nogen forslag?

<input type="checkbox" name="markall">
Avatar billede olebole Juniormester
17. juni 2005 - 11:09 #1
<ole>

Det kunne være:

function checkAll() {
  var aInp = document.getElementsByTagName("input");
  for (var i=0; i<aInp.length; i++) {
      if (aInp[i].type=="checkbox") aInp[i].checked = true;
  }
}

- hvis du nu kun vil ramme checkboxene i et bestemt div:

function checkAll() {
  var myDiv = document.getElementById("hest");
  var aInp = myDiv.getElementsByTagName("input");
  for (var i=0; i<aInp.length; i++) {
      if (aInp[i].type=="checkbox") aInp[i].checked = true;
  }
}

- og du kan jo også diskriminere ved hjælp af en klasse. Så retter du blot linien:

  if (aInp[i].type=="checkbox" && aInp[i].className=="gnu") aInp[i].checked = true;

Så kan du jo kombinere ad libitum  :)

/mvh
</bole>
Avatar billede olebole Juniormester
17. juni 2005 - 11:11 #2
- og i disse tider, hvor Eksperten har taget sig sammen til at afopfinde e-mailen, får du et svar i første hug  :)
Avatar billede steen_hansen Forsker
17. juni 2005 - 21:54 #3
Ole, du briller jo som sædvanligt :oD

Jeg er dog lidt i tvivl:

<head>
<script type="text/JavaScript" language="JavaScript">
function checkAll() {
  var aInp = document.getElementsByTagName("input");
  for (var i=0; i<aInp.length; i++) {
      if (aInp[i].type=="checkbox") aInp[i].checked = true;
  }
}
</script>
</head>

<body>

<input type="checkbox" name="markall">

</body>


Jeg glæder mig til, at de får installeret en mailkomponent, som virker. Det er derfor jeg ikke har reageret på http://www.eksperten.dk/spm/622609, det må du undskylde. Lægger du et svar dér også? :)
Avatar billede roenving Novice
18. juni 2005 - 04:14 #4
<head>
<script type="text/javascript" language="JavaScript">
function checkAll(inp) {
  var chck = inp.checked;
  var aInp = document.getElementsByTagName("input");
  for (var i=0; i<aInp.length; i++) {
      if (aInp[i].type=="checkbox") aInp[i].checked = chck;
  }
}
</script>
</head>

<body>

Markér alle: <input type="checkbox" name="markall" onclick="checkAll(this);">&nbsp;(eller fjern alle !-)

</body>
Avatar billede steen_hansen Forsker
18. juni 2005 - 07:50 #5
DOH! Hvor er det indlysende, når man ser det på skrift, det vidste jeg da godt, nå! :)

roenving, smid et svar, så får I 30/15 :)
Avatar billede steen_hansen Forsker
18. juni 2005 - 07:52 #6
Hm, man kan ikke fjerne markeringerne ved at trykke igen? :o(
Avatar billede steen_hansen Forsker
18. juni 2005 - 08:02 #7
Hvad er det for noget vrøvl, det virker da fint! Det bliver en 50/50 :)
Avatar billede steen_hansen Forsker
18. juni 2005 - 21:02 #8
roenving, smid et svar. Jeg lærer godt nok en del af Jer to. Dejligt med noget kompetent assistance :)
Avatar billede olebole Juniormester
18. juni 2005 - 21:42 #9
- og således spændt ventende på et svar, kan vi andre jo så fordrive ventetiden med at digte lidt videre på 'tingen':

<script type="text/javascript" language="JavaScript">
function checkAll(inp) {
  var chck = inp.checked;
  var lbl = document.getElementById("markallLbl");
  var aInp = document.getElementsByTagName("input");
  for (var i=0; i<aInp.length; i++) {
      if (aInp[i].type=="checkbox") aInp[i].checked = chck;
  }
  lbl.firstChild.nodeValue = (chck)? "Slet Markering:" : "Mark\351r alle:";
}
</script>

<label for="markall" id="markallLbl">Markér alle:</label>
<input type="checkbox" name="markall" id="markall" onclick="checkAll(this);">

Brugen af label gør, at teksten også er klikbar. Label og checkbox vil dog nok se pænest ud i en boks, der er højre-align'et - eller opstillet i omvendet rækkefølge. Ellers bliver det vist lige lovlig live at se på, når der klikkes  :)
Avatar billede olebole Juniormester
18. juni 2005 - 21:45 #10
PS: Bemærk, at checkbox'en nu også har en id.
for-attributten i en label skal have en id at referere til ... en name-attribut kan ikke bruges. That's why  :)
Avatar billede roenving Novice
19. juni 2005 - 06:28 #11
Velbekomme '-)

-- og hvad er det, som er så spændende, ole ?-)
Avatar billede olebole Juniormester
19. juni 2005 - 07:01 #12
Jeg er bare altid spændt på at læse dine kloge kommentarer - og dumme spørgsmål, Jes  ;D
Avatar billede steen_hansen Forsker
19. juni 2005 - 20:46 #13
Sk... smart, ole! Og takker, begge to. I er som sædvanligt nogle hajer til det pjat :)
Avatar billede steen_hansen Forsker
19. juni 2005 - 20:48 #14
PS: roenving, jeg ved ikke, om man som CoAdmin på E bliver indviet i alt, men er der planer om at få de mailkomponenter/scripts til at fungere? Jeg aldrig en enste mail fra E, når der er besvarelser :o/
Avatar billede roenving Novice
19. juni 2005 - 20:49 #15
Du har lige så mange efterretninger, som jeg har, desværre ,-(

-- og tak for point ;~}
Avatar billede steen_hansen Forsker
19. juni 2005 - 20:51 #16
Ok. Velbekomme, og endnu en gang tak. Lækkert at have eksperter at trække på :o)
Avatar billede steen_hansen Forsker
05. juli 2005 - 21:29 #17
roenviNg og/eller olebole: I skulle vel ikke have tid og lyst til at kigge på http://www.eksperten.dk/spm/630429? Bedste venner? :)
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