Avatar billede jss Nybegynder
26. oktober 2004 - 12:04 Der er 5 kommentarer og
1 løsning

Forbedring af disable/enable-funktion ønskes

Jeg har en lille fin funktion der hjælper mig med at disable/enable 2 grupper radiobuttons (t1 og b1) hvis checkbox (i1) er checked. Kan man udbygge denne funktion således at den også virker på en textbox (s1) og i det hele taget gøres mere dynamisk. Hermed tænker jeg på, at jeg har en lang række af sammenhørende sæt checkbox, radiobuttons og textbox (nummereret fortløbende (i2,b2,t2,s2 og herefter et nyt sæt: i3,b3,t3,s3 osv. osv.)

function toggle()
{
var f = document.forms[0];
var i = f.elements["i1"];
var t = f.elements["t1"];
var b = f.elements["b1"];
var s = f.elements["s1"];
for (var x=0; x < t.length; x++)
{
t[x].disabled = (i.checked);
}
for (var x=0; x < b.length; x++)
{
b[x].disabled = (i.checked);
}
}
Avatar billede roenving Novice
26. oktober 2004 - 16:29 #1
-- og de hører hver især sammen, så et click på i3 kun skal have betydning for b3, t3 og s3 ?-)

F.eks.

function toggle(elm){
  var f = elm.form;
  var num = elm.name.replace(/^.*?(\d+)$/,"$1");
  var t = f.elements["t"+num];
  var b = f.elements["b"+num];
  for (var x=0; x < t.length; x++){
    t[x].disabled = elm.checked;
  }
  for (var x=0; x < b.length; x++){
    b[x].disabled = elm.checked;
  }
  f.elements["s"+num].disabled = elm.checked;
}

-- og så skal kaldet se således ud:

<input type="checkbox" name="i3" onclick="toggle(this);">

-- og jeg har gået ud fra, at der kun er een text-input (sX !-)

-- og med ovenstående konstruktion er det iøvrigt også ligegyldigt hvilke formularer de forskellige grupper ligger i, de kunne have hver sin, eller være delt, så der var nogle stykker i hver eller whatever, bare hver gruppes elementer kan findes i den samme form !o]

-- en lille detalje er også, at navnet på checkboxen bare skal ende på et tal (en- eller flercifret !-), resten af navnet er ligegyldigt, bortset fra, at der skal være noget andet end et ciffer lige foran tælleren ...
Avatar billede jss Nybegynder
27. oktober 2004 - 09:14 #2
jeg skal lige love for at det er blevet dynamisk ;-)
Det er helt perfekt - smid et svar og points er dine

Tak for hjælpen
Janus
Avatar billede roenving Novice
27. oktober 2004 - 18:11 #3
Velbekomme '-)
Avatar billede roenving Novice
28. oktober 2004 - 14:11 #4
-- og tak for point ;~}
Avatar billede jss Nybegynder
29. oktober 2004 - 10:42 #5
roenving >> har du mulighed for at hjælpe mig yderligere? Jeg har nu brug for at validere hele formen når den submittes. Det der skal ske, er at den tjekke hvert sammenhørende sæt checkbox, radiobuttons og textbox (f.eks i3,b3,t3,s3) for om alle radiobuttons og textbox er udfyldt hvis checkbox (i3) IKKE er markeret. Jeg har fundet et godt script af olebole (http://eksperten.dk/spm/538626), men mangler
Avatar billede jss Nybegynder
29. oktober 2004 - 10:43 #6
... at indbygge den "sætvise sammenligning"
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