Avatar billede the-gnu.dk Nybegynder
04. juni 2002 - 13:33 Der er 5 kommentarer og
1 løsning

Checkboxes - checked

Uhm... Jeg står med et lille problem, som jeg håber nogen kan hjælpe med.

Jeg har et menu-system, som kunne se ud som følgende:

Punkt 1          []
  Punkt 1.1      []
  Punkt 1.2      []
    Punkt 1.2.1  []
  Punkt 1.3      []
Punkt 2          []
Punkt 3          []
  Punkt 3.1      []

[] = Checkbox

Jeg skal så have lavet sådan, at hvis man sætter kryds i Punkt 1, skal alle underpunkter automatisk blive checked.

Altså, jeg sætter kryds i Punkt 1, kommer det til at se sådan ud:

Punkt 1          [x]
  Punkt 1.1      [x]
  Punkt 1.2      [x]
    Punkt 1.2.1  [x]
  Punkt 1.3      [x]
Punkt 2          []
Punkt 3          []
  Punkt 3.1      []

Sætter jeg kryds i Punkt 1.2, kommer det til at se sådan ud:

Punkt 1          []
  Punkt 1.1      []
  Punkt 1.2      [x]
    Punkt 1.2.1  [x]
  Punkt 1.3      []
Punkt 2          []
Punkt 3          []
  Punkt 3.1      []´

Checkboxen har HTML koden: <input type="checkbox" name="Sider[]" value="!!Value!!">

Den PHP-kode der spytter checkboxene ud, har en $SPACE med, så man kunne evt. sige i java script: CHECK OM BOKSE HAR $SPACE > $DENNES_SPACE. HVIS JA SÆT KRYDS.

Håber det kan laves. Jeg vil evt. godt sætte lidt flere points på, hvis det er en større opg.
Avatar billede jakoba Nybegynder
04. juni 2002 - 15:01 #1
Det kræver nok at du navngiver dine checkbokse efter et eller andet system. det ideelle ville være


punkt 1      <input type='checkbox' name='chkbox1' value="">
punkt 1.1    <input type='checkbox' name='chkbox1p1' value="">
punkt 1.2    <input type='checkbox' name='chkbox1p2' value="">
punkt 1.2.1  <input type='checkbox' name='chkbox1p2p1' value="">
punkt 1.2.2  <input type='checkbox' name='chkbox1p2p2' value="">
punkt 1.3    <input type='checkbox' name='chkbox1p3' value="">
punkt 2      <input type='checkbox' name='chkbox2' value="">
punkt 3      <input type='checkbox' name='chkbox3' value="">
punkt 3.1    <input type='checkbox' name='chkbox3p1' value="">

osv.

Hvis du holder det system kan du lave en lille javascript funktion i head:

<script type='text/javascript'>

function setDescendants( frm, myname, boolvalue ) {
    for (var i=0; frm.elements.length>i; i++ ] {
        if ( frm.elements[i].type == 'checkbox  &&
            frm.elements[i].name.indexOf( myname ) == 0
          ) {
            frm.elements[i].checked = boolvalue;
        }
    }
}; //end setDescendants( Form object, string, boolean )

</script>

den funktion sætter du så på som onclick i alle checkbokse der har et underniveau:

punkt 1      <input type='checkbox' name='chkbox1' value=""
                  onclick="setDescendants(this.form,this.name,this.checked);">
punkt 1.1    <input type='checkbox' name='chkbox1p1' value=""
                  onclick="setDescendants(this.form,this.name,this.checked);">
punkt 1.2    <input type='checkbox' name='chkbox1p2' value=""
                  onclick="setDescendants(this.form,this.name,this.checked);">
punkt 1.2.1  <input type='checkbox' name='chkbox1p2p1' value="">
punkt 1.2.2  <input type='checkbox' name='chkbox1p2p2' value="">
punkt 1.3    <input type='checkbox' name='chkbox1p3' value="">
punkt 2      <input type='checkbox' name='chkbox2' value="">
punkt 3      <input type='checkbox' name='chkbox3' value=""
                  onclick="setDescendants(this.form,this.name,this.checked);">
punkt 3.1    <input type='checkbox' name='chkbox3p1' value="">

PS: det sjkader ikke hvis den også bliver sat ind i de nederste. koster blot en smule tid.

mvh JakobA
Avatar billede jakoba Nybegynder
04. juni 2002 - 15:02 #2
Ups. glemte en ' (efter checkbox) i linien
        if ( frm.elements[i].type == 'checkbox'  &&
Avatar billede the-gnu.dk Nybegynder
04. juni 2002 - 15:28 #3
jakoba > Det ser meget fint ud... Men du rører ved name="" - det må du ikke. Feltet SKAL hedde Sider[]
Avatar billede jakoba Nybegynder
04. juni 2002 - 15:38 #4
hmm.. er value attributten ledig? vi kunne også bruge den at vælge på.
Avatar billede the-gnu.dk Nybegynder
04. juni 2002 - 15:45 #5
Nej, hverken NAME eller VALUE :o( Det skal nok være noget onclick eller et eller andet.
Avatar billede the-gnu.dk Nybegynder
10. november 2002 - 12:15 #6
Nope...
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