Avatar billede miomio Nybegynder
04. januar 2006 - 20:41 Der er 3 kommentarer

Disable og enable med radio button

Hej Alle

Jeg er kørt lidt fast i et javascript, og håber der er nogen som kan hjælpe.

Jeg vil gerne kunne disable checkboxene i den gruppe, der hedder ”c1282442” ved at vælge den radio button med name= c1282441 og value=3777951. Jeg kan ikke ændre i HTML-koden, der refereres til.

Enten giver det problemer, hvis man har valgt radio buttonen(name= c1282441 og value=3777951), der disabler checkboxene(c1282442) og siden hen vælger en anden. Problemet er at jeg ikke kan få scriptet til at enable checkboxene(c1282442) igen.

Script:

http://www.martinostergaard.dk/ekspert1.html

 
<SCRIPT type='text/javascript'>

function getChoice(name, value) {
var candidates = document.getElementsByName(name);
for (i=0; i< candidates.length; i++) {
  if (candidates[i].value == value) {
    return candidates[i];
  }
}
return null;
}

function disableOthers() {
var choice = getChoice('c1282441', '3778083')
if (choice) {
  disableChoice('c1282442', '3777951', choice.checked);
  disableChoice('c1282442', '3777952', choice.checked);
  disableChoice('c1282442', '3777953', choice.checked);
  disableChoice('c1282442', '3777954', choice.checked);
  disableChoice('c1282442', '3778088', choice.checked);
}
}

function disableChoice(name, value, state) {
var choice1 = getChoice(name, value)
if (choice1 != null) {
  choice1.disabled=state;
}
}

var choice = getChoice('c1282441', '3778083')
if (choice != null) {
choice.onclick=disableOthers;
}

</SCRIPT>

Jeg har prøvet nedenstående, men så sker der ingenting.

http://www.martinostergaard.dk/ekspert2.html

&nbsp;
<SCRIPT type='text/javascript'>
 
function getChoice(name, value) {
  var candidates = document.getElementsByName(name);
  for (i=0; i< candidates.length; i++) {
    if (candidates[i].value == value) {
      return candidates[i];
    }
  }
  return null;
}

function disableOthers() {
  var choice = getChoice('c1282441', '3778083')
  if (choice) {
    disableChoice('c1282442', '3777951', choice.checked);
    disableChoice('c1282442', '3777952', choice.checked);
    disableChoice('c1282442', '3777953', choice.checked);
    disableChoice('c1282442', '3777954', choice.checked);
    disableChoice('c1282442', '3778088', choice.checked);
  } else {
    enableChoice('c1282442', '3777951', choice.checked);
    enableChoice('c1282442', '3777952', choice.checked);
    enableChoice('c1282442', '3777953', choice.checked);
    enableChoice('c1282442', '3777954', choice.checked);
    enableChoice('c1282442', '3778088', choice.checked);
  }
}

function disableChoice(name, value, state) {
  var choice1 = getChoice(name, value)
  if (choice1 != null) {
    choice1.disabled=state;
  }

function enableChoice(name, value, state) {
  var choice2 = getChoice(name, value)
  if (choice2 != null) {
    choice2.enabled=state;
  }
}

var choice = null;

choice = getChoice('c1282441', '3778083')
if (choice != null) {
  choice.onclick=disableOthers;
}

choice = getChoice('c1282441', '3777949')
if (choice != null) {
  choice.onclick=disableOthers;
}

choice = getChoice('c1282441', '3777950')
if (choice != null) {
  choice.onclick=disableOthers;
}

</SCRIPT>
Avatar billede luzk Nybegynder
09. januar 2006 - 11:19 #1
din ekspert2.html virker, men du mangler et } i funktionen disableChoice.

Den skal være
function disableChoice(name, value, state) {
  var choice1 = getChoice(name, value)
  if (choice1 != null) {
    choice1.disabled=state;
  }
}

/Lusk
Avatar billede roenving Novice
09. januar 2006 - 18:24 #2
I koden i spørgsmålet er den da tilstede, selvom den ikke er indrykket ...
Avatar billede luzk Nybegynder
09. januar 2006 - 19:01 #3
Nej det snød også mig :-)
Den er der i det første eksempel, men ikke i eksempel 2.

I andet eksempel er det kun if sætningen der bliver lukket

/Lusk
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