Avatar billede kagge Nybegynder
23. maj 2002 - 12:55 Der er 5 kommentarer og
2 løsninger

Onchange

Har følgende problem:

function changed(){

document.all['chk1'].style.visibility = (document.registrering.pctype.value=="adm")?'visible':'hidden';
document.all['chk2'].style.visibility = (document.registrering.pctype.value=="adm")?'visible':'hidden';
document.all['chk3'].style.visibility = (document.registrering.pctype.value=="adm")?'visible':'hidden';
document.all['chk4'].style.visibility = (document.registrering.pctype.value=="adm")?'visible':'hidden';
document.all['chk5'].style.visibility = (document.registrering.pctype.value=="adm")?'visible':'hidden';
document.all['chk6'].style.visibility = (document.registrering.pctype.value=="adm")?'visible':'hidden';
document.all['chk7'].style.visibility = (document.registrering.pctype.value=="adm")?'visible':'hidden';
document.all['chk8'].style.visibility = (document.registrering.pctype.value=="adm")?'visible':'hidden';
document.all['chk9'].style.visibility = (document.registrering.pctype.value=="adm")?'visible':'hidden';
document.all['chk10'].style.visibility = (document.registrering.pctype.value=="adm")?'visible':'hidden';
document.all['chk11'].style.visibility = (document.registrering.pctype.value=="adm")?'visible':'hidden';
document.all['chk12'].style.visibility = (document.registrering.pctype.value=="adm")?'visible':'hidden';
document.all['chk13'].style.visibility = (document.registrering.pctype.value=="adm")?'visible':'hidden';

document.all['chk1'].style.visibility = (document.registrering.pctype.value=="bane")?'visible':'hidden';
document.all['chk2'].style.visibility = (document.registrering.pctype.value=="bane")?'visible':'hidden';
document.all['chk3'].style.visibility = (document.registrering.pctype.value=="bane")?'visible':'hidden';
document.all['chk4'].style.visibility = (document.registrering.pctype.value=="bane")?'visible':'hidden';
document.all['chk5'].style.visibility = (document.registrering.pctype.value=="bane")?'visible':'hidden';
document.all['chk6'].style.visibility = (document.registrering.pctype.value=="bane")?'visible':'hidden';

document.all['chk1'].style.visibility = (document.registrering.pctype.value=="plads")?'visible':'hidden';
document.all['chk2'].style.visibility = (document.registrering.pctype.value=="plads")?'visible':'hidden';
document.all['chk3'].style.visibility = (document.registrering.pctype.value=="plads")?'visible':'hidden';
document.all['chk4'].style.visibility = (document.registrering.pctype.value=="plads")?'visible':'hidden';
document.all['chk5'].style.visibility = (document.registrering.pctype.value=="plads")?'visible':'hidden';
document.all['chk6'].style.visibility = (document.registrering.pctype.value=="plads")?'visible':'hidden';
}

<SELECT NAME="pctype" onChange="changed()">
  <OPTION VALUE=""></OPTION>
  <OPTION VALUE="adm">Administrativ pc</OPTION>
  <OPTION VALUE="bane">Bane pc</OPTION>
  <OPTION VALUE="plads">Pladssyns pc</OPTION>
</SELECT>

<div id="chk1" name="chk1" style="visibility:hidden"><input type="checkbox" name="emne1" value="SBIS"> SBIS <br>
        <div id="chk2" name="chk2" style="visibility:hidden"><input type="checkbox" name="emne2" value="SBIR"> SBIR <br>
    <div id="chk3" name="chk3" style="visibility:hidden"><input type="checkbox" name="emne3" value="Intranet"> Intranet <br>
    <div id="chk4" name="chk4" style="visibility:hidden"><input type="checkbox" name="emne4" value="Office 95"> Office 95 <br>
    <div id="chk5" name="chk5" style="visibility:hidden"><input type="checkbox" name="emne5" value="Printer"> Printer (Evt. LP): <INPUT TYPE="text" SIZE="10" NAME="lp"><br>
    <div id="chk6" name="chk6" style="visibility:hidden"><input type="checkbox" name="emne6" value="Bonprinter"> Bonprinter <input type="checkbox" name="emne7" value="m/udskrift"> m/udskrift <input type="checkbox" name="emne8" value="u/udskrift"> u/udskrift<br>
    <div id="chk7" name="chk7" style="visibility:hidden"><input type="checkbox" name="emne9" value="Exchange"> Exchange <br>
    <div id="chk8" name="chk8" style="visibility:hidden"><input type="checkbox" name="emne10" value="DOC2000"> DOC2000 <br>
    <div id="chk9" name="chk9" style="visibility:hidden"><input type="checkbox" name="emne11" value="LIS"> LIS <br>
    <div id="chk10" name="chk10" style="visibility:hidden"><input type="checkbox" name="emne12" value="CRM"> CRM <br>
    <div id="chk11" name="chk11" style="visibility:hidden"><input type="checkbox" name="emne13" value="DB Teleservice"> DB Teleservice <br>
    <div id="chk12" name="chk12" style="visibility:hidden"><input type="checkbox" name="emne14" value="Scanjour"> Scanjour <br>
        <div id="chk13" name="chk13" style="visibility:hidden"><input type="checkbox" name="emne15" value="Scanpas"> Scanpas <br>



Det jeg vil have den til at gøre er:

Når man i selectboxen vælger: Administrativ pc, så skal den ved hjælp af onchange vise alle checkboxe.

Når man vælger: bane pc eller pladssyns pc er det kun de øverste 6 checkboxe der skal vises.....

Håber i kan overskue koden!!
Avatar billede ras2000 Nybegynder
23. maj 2002 - 13:54 #1
Du starter en masse div tags, som du aldrig afslutter, og som du i bund og grund ikke har brug for. Jeg kigger lige på det, det kan vist laves noget nemmere.
Avatar billede kagge Nybegynder
23. maj 2002 - 13:56 #2
Jeg er nemlig ikke så meget inde i onchange-funktionen, så det lyder fint hvis du har tid til at kigge på det. Jeg er først tilbage igen i morgen så jeg kan ikke svare mere i dag.....
Avatar billede bgo Nybegynder
23. maj 2002 - 13:58 #3
Bare et hurtigt forslag:

Lav 3 div'er, en til hver mulighed i select-boxen, som indeholder de checkboxe der skal bruges til et givent valg. I changed() kan du så lave et check på værdien, noget ala

if (document.forms.pctype.value == "adm"){
document.all("admboxe").visibility=visible;
}

osv.

Håber du er med på essensen i mit forslag:)
Avatar billede ras2000 Nybegynder
23. maj 2002 - 14:14 #4
<html>
<head>
<title>Untitled</title>
<script type="text/javascript">
function changed(tal){
a = 0;
if (tal == 0) {
    document.all.id1.style.display = 'none';
    document.all.id2.style.display = 'none';
}
if (tal == 1) {
    document.all.id1.style.display = 'block';
    document.all.id2.style.display = 'block';
}
if (tal == 2 || tal == 3) {
    document.all.id1.style.display = 'block';
    document.all.id2.style.display = 'none';
}
}
</script>
</head>
<body>
<SELECT NAME="pctype" onChange="changed(this.selectedIndex)">
  <OPTION VALUE=""></OPTION>
  <OPTION VALUE="adm">Administrativ pc</OPTION>
  <OPTION VALUE="bane">Bane pc</OPTION>
  <OPTION VALUE="plads">Pladssyns pc</OPTION>
</SELECT>

<div id="id1" style="display:none">
<input type="checkbox" name="emne1" value="SBIS"> SBIS <br>
<input type="checkbox" name="emne2" value="SBIR"> SBIR <br>
<input type="checkbox" name="emne3" value="Intranet"> Intranet <br>
<input type="checkbox" name="emne4" value="Office 95"> Office 95 <br>
<input type="checkbox" name="emne5" value="Printer"> Printer (Evt. LP):
</div>
<div id="id2" style="display:none">
<INPUT TYPE="text" SIZE="10" NAME="lp"><br>
<input type="checkbox" name="emne6" value="Bonprinter"> Bonprinter
<input type="checkbox" name="emne7" value="m/udskrift"> m/udskrift
<input type="checkbox" name="emne8" value="u/udskrift"> u/udskrift<br>
<input type="checkbox" name="emne9" value="Exchange"> Exchange <br>
<input type="checkbox" name="emne10" value="DOC2000"> DOC2000 <br>
<input type="checkbox" name="emne11" value="LIS"> LIS <br>
<input type="checkbox" name="emne12" value="CRM"> CRM <br>
<input type="checkbox" name="emne13" value="DB Teleservice"> DB Teleservice <br>
<input type="checkbox" name="emne14" value="Scanjour"> Scanjour <br>
<input type="checkbox" name="emne15" value="Scanpas"> Scanpas <br>
</div>
</body>
</html>
Det blev lidt som bgo skrev.
Avatar billede ras2000 Nybegynder
23. maj 2002 - 14:15 #5
hov, svar
Avatar billede ras2000 Nybegynder
23. maj 2002 - 14:17 #6
Ok, jeg havde vist skåret det gale sted.
<html>
<head>
<title>Untitled</title>
<script type="text/javascript">
function changed(tal){
a = 0;
if (tal == 0) {
    document.all.id1.style.display = 'none';
    document.all.id2.style.display = 'none';
}
if (tal == 1) {
    document.all.id1.style.display = 'block';
    document.all.id2.style.display = 'block';
}
if (tal == 2 || tal == 3) {
    document.all.id1.style.display = 'block';
    document.all.id2.style.display = 'none';
}
}
</script>
</head>
<body>
<SELECT NAME="pctype" onChange="changed(this.selectedIndex)">
  <OPTION VALUE=""></OPTION>
  <OPTION VALUE="adm">Administrativ pc</OPTION>
  <OPTION VALUE="bane">Bane pc</OPTION>
  <OPTION VALUE="plads">Pladssyns pc</OPTION>
</SELECT>

<div id="id1" style="display:none">
<input type="checkbox" name="emne1" value="SBIS"> SBIS <br>
<input type="checkbox" name="emne2" value="SBIR"> SBIR <br>
<input type="checkbox" name="emne3" value="Intranet"> Intranet <br>
<input type="checkbox" name="emne4" value="Office 95"> Office 95 <br>
<input type="checkbox" name="emne5" value="Printer"> Printer (Evt. LP):
<INPUT TYPE="text" SIZE="10" NAME="lp"><br>
</div>
<div id="id2" style="display:none">
<input type="checkbox" name="emne6" value="Bonprinter"> Bonprinter
<input type="checkbox" name="emne7" value="m/udskrift"> m/udskrift
<input type="checkbox" name="emne8" value="u/udskrift"> u/udskrift<br>
<input type="checkbox" name="emne9" value="Exchange"> Exchange <br>
<input type="checkbox" name="emne10" value="DOC2000"> DOC2000 <br>
<input type="checkbox" name="emne11" value="LIS"> LIS <br>
<input type="checkbox" name="emne12" value="CRM"> CRM <br>
<input type="checkbox" name="emne13" value="DB Teleservice"> DB Teleservice <br>
<input type="checkbox" name="emne14" value="Scanjour"> Scanjour <br>
<input type="checkbox" name="emne15" value="Scanpas"> Scanpas <br>
</div>
</body>
</html>
Avatar billede kagge Nybegynder
24. maj 2002 - 08:21 #7
Mange tak for hjælpen. Det virker lige efter hensigten.

I har vel egentlig svaret nogenlunde ens, men da ras2000 formentlig har lagt lidt mere arb. i det får han lidt flere 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