Avatar billede okidoky Nybegynder
29. oktober 2005 - 10:33 Der er 7 kommentarer og
1 løsning

Check og uncheck samme Checkbox

Hvordan laver man en checkbox der markere alle checkbox og markere dem fra igen samme med samme checkbox? :)
Avatar billede softspot Forsker
29. oktober 2005 - 12:07 #1
Kan dette bruges:

<script type="text/javascript">
function markAll(obj) {
  if(obj) {
    var elm = obj.form.elements;
    for(var i=0; i < elm.length; i++) {
      if(elm.type=="checkbox" && elm != obj) {
        elm.checked = obj.checked;
      }
    }
  }
}
</script>

<form>
  <input type="checkbox" name="doall" onclick="markAll(this)"><br>
  <input type="checkbox" name="chk1">test 1<br>
  <input type="checkbox" name="chk2">test 2<br>
  <input type="checkbox" name="chk3">test 3<br>
  <input type="checkbox" name="chk4">test 4<br>
</form>
Avatar billede okidoky Nybegynder
29. oktober 2005 - 12:58 #2
Ja.. og også denne her tak softspot... kan du noget med PHP? for der er noget der irretere mig...

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Fjern/vælg alle</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<script type="text/javascript">
function vaelgAlle(obj) {
  var frm = obj.form;
  for (i = 0;frm.elements.length>i; 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){
  var frm = obj.form;
  var alleValgt = true;
  for (i = 0;frm.elements.length>i; i++) {
    if (frm.elements[i].type == "checkbox" && frm.elements[i].name.substring(0,5) == obj.name.substring(0,5) && frm.elements[i].name != obj.name.substring(0,5)+'alle' && !frm.elements[i].checked)
      alleValgt = false;
  }
  frm.elements[obj.name.substring(0,5)+'alle'].checked = alleValgt;
}
</script>
<body>
<form>
Gruppe 1<br>
   
<input type="checkbox" name="grup1navn"  value="0" onclick="vaelgAlle(this);">Alle valg<br>
<input type="checkbox" name="grup1navn1" value="1" onclick="fjernAlle(this);">Valg1<br>
<input type="checkbox" name="grup1navn2" value="5000" onclick="fjernAlle(this);">Valg2<br>
<input type="checkbox" name="grup1navn3" value="3514" onclick="fjernAlle(this);">Valg3<br>
<input type="checkbox" name="grup1navn4" value="354687" onclick="fjernAlle(this);">Valg4<br>
<b>Gruppe2</b><br>
<input type="checkbox" name="grup2alle"  value="0" 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"  value="0" 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>
<input type="checkbox" name="grup3navn3" value="3" onclick="fjernAlle(this);">Valg3<br>
<input type="checkbox" name="grup3navn4" value="4" onclick="fjernAlle(this);">Valg4<br>
</form>
</body>
</html>
Avatar billede softspot Forsker
29. oktober 2005 - 13:16 #3
Jeg har ikke arbejdet med PHP, så med mindre det er noget HELT simpelt, så er jeg nok ikke din mand til den udfordring :)

Jeg kan ikke lige se hvad det er ved den kode du har vist, der skal kigges på...?
Avatar billede okidoky Nybegynder
29. oktober 2005 - 13:47 #4
Der er ikke noget ved kode der skal kigges på, det er bare samme kode som din men på en anden måde, jeg fandt den på eksperten, måske er det dig der har lavet den før, jeg kan ikke lige huske hvilket navn der skrev den.

Det med PHP, jeg skulle bare spørger om sprog på en side.

Hvis man skal have 2 sprog på en side, har jeg fundet ud af at det kan laves på mange forskellige måder?

Men jeg har allerede min side på engelsk, og alt info og artikler er i databasen nu.
Hvordan skal jeg lave det andet sprog, skal jeg oprette en helt andre table i databasen som dem på engelsk?

:)
Avatar billede softspot Forsker
29. oktober 2005 - 14:22 #5
Hmm... det er lidt svært at sige, for det afhænger af hvordan systemet er bygget op i forvejen. Umiddelbart vil jeg jo mene at datastrukturen burde være den samme uanset hvilket sprog der er tale om og derfor ville jeg måske vælge at oprette et nyt felt i de tabeller som indeholder tekst, som angiver hvilket sprog teksten er anført i. rækkens id og sproget kunne så danne nøgle for rækken i stedet for en entydig nøgle.

Alternativt kunne du rykke teksterne ud i en separat tabel, som så refererer tilbage til den tabel du har rykket teksterne ud af...

Under alle omstændigheder tror jeg ikke du undgår at lave nogle radikale ændringer et eller andet sted, men at kopiere tabeller blot for at implementere et nyt sprog virker ikke særlig skalerbart (så skal du i princippet have et nyt site hver gang du skal tilføje et sprog og det bliver jo et helvede at vedligeholde).
Avatar billede okidoky Nybegynder
29. oktober 2005 - 15:47 #6
ok tak for hjælpen... jeg ved hvordan jeg vil lave det nu...

Jeg indsætter ny række i hver table, som text, og tilføjer f.eks. artiklerne på dansk, og på den måde har jeg to sprog jeg kan hente.

tak for hjælpen softspot
Avatar billede softspot Forsker
29. oktober 2005 - 15:50 #7
Ok, bare du selv har en klar fornemmelse af hvad du skal gøre, så må det være godt :)

Velbekomme.
Avatar billede softspot Forsker
30. oktober 2005 - 14:44 #8
Tak for point :)
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