Avatar billede Slettet bruger
06. januar 2004 - 17:08 Der er 22 kommentarer og
1 løsning

disable selects ud fra radio

Hejsa,

Jeg har brug for at kunne disable nogle selects afhængig af hvilken af i alt tre radios der er valgt.
Det ser ud nogenlunde som nedenfor, hvor ============= er en select og o er en radio ;)

a)
o  =============
    =============

b)
o  =============
    =============

c)
o  =============
    =============
    =============
    =============

hvis radio a er valgt skal både b & c's selects disables, men hvis radio b vælges, skal a & c's selects disables, og hvis radio c vælges, skal b & a's selects disables.
Avatar billede roenving Novice
06. januar 2004 - 17:35 #1
Sådan ?-)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Enable/disable selects</title>
<meta name="keywords" content="søgeord adskilt af komma">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="javascript" type="text/javascript">
function enableSels(fld){
  var id = 'minSel' + fld.id;
  var f = fld.form;
  for(i=0;f.elements.length>i;i++){
    sel = f.elements[i];
    sel.disabled = (sel.tagName == 'SELECT' && sel.name.indexOf(id)==-1)?true:false;
  }
}
</script>
</head>
<body>
<form id="minForm" name="minForm">
<input type="radio" name="selRadio" id="a" onclick="enableSels(this)">
<select name="minSela1" id="minSela1" onchange="" disabled>
    <option value="">-- Vælg her --<br>
    <option value="1">1<br>
    <option value="2">2<br>
    <option value="3">3<br>
</select><br>
<input type="radio" style="visibility:hidden;">
<select name="minSela2" id="minSela2" onchange="" disabled>
    <option value="">-- Vælg her --<br>
    <option value="1">1<br>
    <option value="2">2<br>
    <option value="3">3<br>
</select>
<br>
<br>
<input type="radio" name="selRadio" id="b" onclick="enableSels(this)">
<select name="minSelb1" id="minSelb1" onchange="" disabled>
    <option value="">-- Vælg her --<br>
    <option value="1">1<br>
    <option value="2">2<br>
    <option value="3">3<br>
</select><br>
<input type="radio" style="visibility:hidden;">
<select name="minSelb2" id="minSelb2" onchange="" disabled>
    <option value="">-- Vælg her --<br>
    <option value="1">1<br>
    <option value="2">2<br>
    <option value="3">3<br>
</select>
<br>
<br>
<input type="radio" name="selRadio" id="c" onclick="enableSels(this)">
<select name="minSelc1" id="minSelc1" onchange="" disabled>
    <option value="">-- Vælg her --<br>
    <option value="1">1<br>
    <option value="2">2<br>
    <option value="3">3<br>
</select><br>
<input type="radio" style="visibility:hidden;">
<select name="minSelc2" id="minSelc2" onchange="" disabled>
    <option value="">-- Vælg her --<br>
    <option value="1">1<br>
    <option value="2">2<br>
    <option value="3">3<br>
</select><br>
<input type="radio" style="visibility:hidden;">
<select name="minSelc3" id="minSelc3" onchange="" disabled>
    <option value="">-- Vælg her --<br>
    <option value="1">1<br>
    <option value="2">2<br>
    <option value="3">3<br>
</select>
<br>
<br>
</form>
</body>
</html>
Avatar billede Slettet bruger
06. januar 2004 - 17:44 #2
ser fedt ud, men er det nødvendigt at "gentage" koden for hver select?
Avatar billede roenving Novice
06. januar 2004 - 17:47 #3
Øeh ...

Hvordan skal man ellers kunne have nogle selects, hvis koden til dem ikke er der ?-)
Avatar billede Slettet bruger
06. januar 2004 - 17:49 #4
jeg mener bare, i din kode er det to forskellige selects der kommer på banen (med det samme indhold) istedet for at det bare er den samme select der er hhv. disabled eller enabled. Forstår du hvad jeg mener ? :)
Avatar billede roenving Novice
06. januar 2004 - 17:59 #5
Jeg har bare lavet det præcis, som du har vist det ?-)
Avatar billede Slettet bruger
06. januar 2004 - 18:01 #6
argh, ok sorry... :(

============= er en option i en select, og når der så er to


=============
=============

så er det to options i den samme select :) Synes ellers lige det var så padægogisk :)
Avatar billede Slettet bruger
06. januar 2004 - 18:02 #7
nej, nu kludrer jeg da helt rundt i det... Det ER selects ...
Avatar billede Slettet bruger
06. januar 2004 - 18:23 #8
og dit eksempel virker som en drøm - tror jeg trænger til noget frisk luft ;)
Avatar billede Slettet bruger
06. januar 2004 - 18:26 #9
dog har jeg et problem, prøv at se her en gang

<HTML>
<HEAD>
<SCRIPT type="text/JavaScript">
function enableSels(fld){
  var id = 'Sel' + fld.id;
  var f = fld.form;
  for(i=0;f.elements.length>i;i++){
    sel = f.elements[i];
    sel.disabled = (sel.tagName == 'SELECT' && sel.name.indexOf(id)==-1)?true:false;
  }
}
</SCRIPT>
</HEAD>
<BODY>
                <TABLE border="0" cellpadding="1" cellspacing="2">
                    <FORM action="kontrolcenter.asp?vis=emailservice" method="post">
                        <TR>
                            <TD>                               
                                <INPUT type="radio" name="type" id="a" value="s" onclick="enableSels(this)"/>
                            </TD>
                            <TD>    Boligs&oslash;gende der s&oslash;ger &nbsp;
                            </TD>
                            <TD>
                                <SELECT name="Selboligtype_s" id="Selboligtype_s" class="felter" onChange="" disabled>
                                    <OPTION value="Andelsbolig">Andelsbolig</OPTION>
                                    <OPTION value="Bofællesskab">Bofællesskab</OPTION>
                                    <OPTION value="Ejerlejlighed">Ejerlejlighed</OPTION>
                                    <OPTION value="Hus">Hus</OPTION>
                                    <OPTION value="Lejelejlighed">Lejelejlighed</OPTION>
                                    <OPTION value="Værelse">Værelse</OPTION>
                                </SELECT>
                            </TD>
                        </TR>
                        <TR>
                            <TD>
                            </TD>
                            <TD>    der ligger i amtet
                            </TD>
                            <TD>
                                <SELECT name="Selamt_s" id="Selamt_s" class="felter" onChange="" disabled>
                                    <OPTION value="Bornholm">Bornholm</OPTION>
                                    <OPTION value="Frederiksborg">Frederiksborg</OPTION>
                                    <OPTION value="Fyn">Fyn</OPTION>
                                    <OPTION value="København">København</OPTION>
                                    <OPTION value="Roskilde">Roskilde</OPTION>
                                    <OPTION value="Storstrøm">Storstrøm</OPTION>
                                    <OPTION value="Sønderjylland">Sønderjylland</OPTION>
                                    <OPTION value="Vejle">Vejle</OPTION>
                                    <OPTION value="Vestsjælland">Vestsjælland</OPTION>
                                    <OPTION value="Viborg">Viborg</OPTION>
                                    <OPTION value="Århus">Århus</OPTION>
                                </SELECT>
                            </TD>
                        </TR>
                        <TR>
                            <TD colspan="3">
<HR>
                            </TD>
                        </TR>
                        <TR>
                            <TD>                               
                                <INPUT type="radio" name="type" id="b" value="u" onclick="enableSels(this)" />
                            </TD>
                            <TD>    Boligudbyder der udbyder &nbsp;
                            </TD>
                            <TD>
                                <SELECT name="Selboligtype_u" id="Selboligtype_u" class="felter" onChange="" disabled>
                                    <OPTION value="Andelsbolig">Andelsbolig</OPTION>
                                    <OPTION value="Bofællesskab">Bofællesskab</OPTION>
                                    <OPTION value="Ejerlejlighed">Ejerlejlighed</OPTION>
                                    <OPTION value="Hus">Hus</OPTION>
                                    <OPTION value="Lejelejlighed">Lejelejlighed</OPTION>
                                    <OPTION value="Værelse">Værelse</OPTION>
                                </SELECT>
                            </TD>
                        </TR>
                        <TR>
                            <TD>
                            </TD>
                            <TD>    der ligger i amtet
                            </TD>
                            <TD>
                                <SELECT name="Selamt_u" id="Selamt_u" class="felter" onChange="" disabled>
                                    <OPTION value="Bornholm">Bornholm</OPTION>
                                    <OPTION value="Frederiksborg">Frederiksborg</OPTION>
                                    <OPTION value="Fyn">Fyn</OPTION>
                                    <OPTION value="København">København</OPTION>
                                    <OPTION value="Roskilde">Roskilde</OPTION>
                                    <OPTION value="Storstrøm">Storstrøm</OPTION>
                                    <OPTION value="Sønderjylland">Sønderjylland</OPTION>
                                    <OPTION value="Vejle">Vejle</OPTION>
                                    <OPTION value="Vestsjælland">Vestsjælland</OPTION>
                                    <OPTION value="Viborg">Viborg</OPTION>
                                    <OPTION value="Århus">Århus</OPTION>
                                </SELECT>
                            </TD>
                        </TR>
                        <TR>
                            <TD colspan="3">
<HR>
                            </TD>
                        </TR>
                        <TR>
                            <TD>                               
                                <INPUT type="radio" name="type" id="c" value="b" onclick="enableSels(this)" />
                            </TD>
                            <TD>    Boligbytter der vil bytte &nbsp;
                            </TD>
                            <TD>
                                <SELECT name="Selboligtype_b" id="Selboligtype_b" class="felter" onChange="" disabled>
                                    <OPTION value="Andelsbolig">Andelsbolig</OPTION>
                                    <OPTION value="Bofællesskab">Bofællesskab</OPTION>
                                    <OPTION value="Ejerlejlighed">Ejerlejlighed</OPTION>
                                    <OPTION value="Hus">Hus</OPTION>
                                    <OPTION value="Lejelejlighed">Lejelejlighed</OPTION>
                                    <OPTION value="Værelse">Værelse</OPTION>
                                </SELECT>
                            </TD>
                        </TR>
                        <TR>
                            <TD>
                            </TD>
                            <TD>    der ligger i amtet
                            </TD>
                            <TD>
                                <SELECT name="Selamt_b" id="Selamt_b" class="felter" onChange="" disabled>
                                    <OPTION value="Bornholm">Bornholm</OPTION>
                                    <OPTION value="Frederiksborg">Frederiksborg</OPTION>
                                    <OPTION value="Fyn">Fyn</OPTION>
                                    <OPTION value="København">København</OPTION>
                                    <OPTION value="Roskilde">Roskilde</OPTION>
                                    <OPTION value="Storstrøm">Storstrøm</OPTION>
                                    <OPTION value="Sønderjylland">Sønderjylland</OPTION>
                                    <OPTION value="Vejle">Vejle</OPTION>
                                    <OPTION value="Vestsjælland">Vestsjælland</OPTION>
                                    <OPTION value="Viborg">Viborg</OPTION>
                                    <OPTION value="Århus">Århus</OPTION>
                                </SELECT>
                            </TD>
                        </TR>
                        <TR>
                            <TD>
                            </TD>
                            <TD>    med
                            </TD>
                            <TD>
                                <SELECT name="boligtype_b_2" class="felter" onChange="" disabled>
                                    <OPTION value="Andelsbolig">Andelsbolig</OPTION>
                                    <OPTION value="Bofællesskab">Bofællesskab</OPTION>
                                    <OPTION value="Ejerlejlighed">Ejerlejlighed</OPTION>
                                    <OPTION value="Hus">Hus</OPTION>
                                    <OPTION value="Lejelejlighed">Lejelejlighed</OPTION>
                                    <OPTION value="Værelse">Værelse</OPTION>
                                </SELECT>
                            </TD>
                        </TR>
                        <TR>
                            <TD>
                            </TD>
                            <TD>    der ligger i amtet
                            </TD>
                            <TD>
                                <SELECT name="amt_b_2" class="felter" onChange="" disabled>
                                    <OPTION value="Bornholm">Bornholm</OPTION>
                                    <OPTION value="Frederiksborg">Frederiksborg</OPTION>
                                    <OPTION value="Fyn">Fyn</OPTION>
                                    <OPTION value="København">København</OPTION>
                                    <OPTION value="Roskilde">Roskilde</OPTION>
                                    <OPTION value="Storstrøm">Storstrøm</OPTION>
                                    <OPTION value="Sønderjylland">Sønderjylland</OPTION>
                                    <OPTION value="Vejle">Vejle</OPTION>
                                    <OPTION value="Vestsjælland">Vestsjælland</OPTION>
                                    <OPTION value="Viborg">Viborg</OPTION>
                                    <OPTION value="Århus">Århus</OPTION>
                                </SELECT>
                            </TD>
                        </TR>
                        <TR>
                            <TD colspan="3">
<HR>
                            </TD>
                        </TR>
                        <TR>
                            <TD>
                            </TD>
                            <TD>
                            </TD>
                            <TD>                               
                                <INPUT type="submit" name="submitEmailservice1" class="knap" value="Videre &raquo;" />
                            </TD>
                        </TR>
                    </FORM>
                </TABLE>
</BODY>
</HTML>
Avatar billede roenving Novice
06. januar 2004 - 18:26 #10
-- jamen så velbekomme '-)
Avatar billede Slettet bruger
06. januar 2004 - 18:27 #11
et klik i den første radio aktiverer den Boligtype i alle selects
Avatar billede roenving Novice
06. januar 2004 - 18:33 #12
-- bruger du selectenes id til noget andet ?-)

-- for så kan du sætte id til Sels_1, Sels_2, Selu_1, Selu_2, Selb_1, osv...

-- og så sætte id på radios til samme værdi som din value !-)
Avatar billede Slettet bruger
06. januar 2004 - 18:50 #13
nej jeg bruger ikke deres id til noget. Jeg har jeg sat id på radios til samme værdi som value, men jeg er ikke helt med på hvad du mener med id på mine selects
Avatar billede roenving Novice
06. januar 2004 - 19:04 #14
<SCRIPT type="text/JavaScript">
function enableSels(fld){
  var id = 'Sel' + fld.id;
  var f = fld.form;
  for(i=0;f.elements.length>i;i++){
    sel = f.elements[i];
    sel.disabled = (sel.tagName == 'SELECT' && sel.id.indexOf(id)==-1)?true:false;
  }
}
</SCRIPT>


<SELECT name="amt_b_2" id="Selb_4" class="felter" onChange="" disabled>
Avatar billede Slettet bruger
06. januar 2004 - 19:26 #15
hvad er pointen med at give det id til selects? Altså hvad er fremgangsmåden? I scriptet bliver id i dit tilfælde, SelSelb_4.. Jeg kan ikke lure fremgangsmåden :(
Avatar billede Slettet bruger
06. januar 2004 - 19:37 #16
kunne jeg ikke få dig til at sætte det ind i mit dokument?
Avatar billede roenving Novice
06. januar 2004 - 19:44 #17
Næh, Selb_4 er resultatet ...
Avatar billede roenving Novice
06. januar 2004 - 20:01 #18
-- du havde i øvrigt en ulovlig nesting af form, så den rettede jeg lige på vejen (plus et par andre småting !-):

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Vælg søgetype</title>
<script type="text/JavaScript">
function enableSels(fld){
  var id = 'Sel' + fld.id;
  var f = fld.form;
  for(i=0;f.elements.length>i;i++){
    sel = f.elements[i];
    sel.disabled = (sel.tagName == 'SELECT' && sel.id.indexOf(id)==-1)?true:false;
  }
}
</script>
</head>
<body>
  <form action="kontrolcenter.asp?vis=emailservice" method="post">
    <table border="0" cellpadding="1" cellspacing="2">
      <tr>
        <td>   
          <input type="radio" name="type" id="s" value="s" onclick="enableSels(this)"/>
        </td>
        <td>    Boligs&oslash;gende der s&oslash;ger &nbsp;
        </td>
        <td>
          <select name="Selboligtype_s" id="Sels_1" class="felter" onchange="" disabled>
            <option value="Andelsbolig">Andelsbolig</option>
            <option value="Bofællesskab">Bofællesskab</option>
            <option value="Ejerlejlighed">Ejerlejlighed</option>
            <option value="Hus">Hus</option>
            <option value="Lejelejlighed">Lejelejlighed</option>
            <option value="Værelse">Værelse</option>
          </select>
        </td>
      </tr>
      <tr>
        <td>
        </td>
        <td>    der ligger i amtet
        </td>
        <td>
          <select name="Selamt_s" id="Sels_2" class="felter" onchange="" disabled>
            <option value="Bornholm">Bornholm</option>
            <option value="Frederiksborg">Frederiksborg</option>
            <option value="Fyn">Fyn</option>
            <option value="København">København</option>
            <option value="Roskilde">Roskilde</option>
            <option value="Storstrøm">Storstrøm</option>
            <option value="Sønderjylland">Sønderjylland</option>
            <option value="Vejle">Vejle</option>
            <option value="Vestsjælland">Vestsjælland</option>
            <option value="Viborg">Viborg</option>
            <option value="Århus">Århus</option>
          </select>
        </td>
      </tr>
      <tr>
        <td colspan="3">
<hr>
        </td>
      </tr>
      <tr>
        <td>   
          <input type="radio" name="type" id="u" value="u" onclick="enableSels(this)" />
        </td>
        <td>    Boligudbyder der udbyder &nbsp;
        </td>
        <td>
          <select name="Selboligtype_u" id="Selu_1" class="felter" onchange="" disabled>
            <option value="Andelsbolig">Andelsbolig</option>
            <option value="Bofællesskab">Bofællesskab</option>
            <option value="Ejerlejlighed">Ejerlejlighed</option>
            <option value="Hus">Hus</option>
            <option value="Lejelejlighed">Lejelejlighed</option>
            <option value="Værelse">Værelse</option>
          </select>
        </td>
      </tr>
      <tr>
        <td>
        </td>
        <td>    der ligger i amtet
        </td>
        <td>
          <select name="Selamt_u" id="Selu_2" class="felter" onchange="" disabled>
            <option value="Bornholm">Bornholm</option>
            <option value="Frederiksborg">Frederiksborg</option>
            <option value="Fyn">Fyn</option>
            <option value="København">København</option>
            <option value="Roskilde">Roskilde</option>
            <option value="Storstrøm">Storstrøm</option>
            <option value="Sønderjylland">Sønderjylland</option>
            <option value="Vejle">Vejle</option>
            <option value="Vestsjælland">Vestsjælland</option>
            <option value="Viborg">Viborg</option>
            <option value="Århus">Århus</option>
          </select>
        </td>
      </tr>
      <tr>
        <td colspan="3">
<hr>
        </td>
      </tr>
      <tr>
        <td>   
          <input type="radio" name="type" id="b" value="b" onclick="enableSels(this)" />
        </td>
        <td>    Boligbytter der vil bytte &nbsp;
        </td>
        <td>
          <select name="Selboligtype_b" id="Selb_1" class="felter" onchange="" disabled>
            <option value="Andelsbolig">Andelsbolig</option>
            <option value="Bofællesskab">Bofællesskab</option>
            <option value="Ejerlejlighed">Ejerlejlighed</option>
            <option value="Hus">Hus</option>
            <option value="Lejelejlighed">Lejelejlighed</option>
            <option value="Værelse">Værelse</option>
          </select>
        </td>
      </tr>
      <tr>
        <td>
        </td>
        <td>    der ligger i amtet
        </td>
        <td>
          <select name="Selamt_b" id="Selb_2" class="felter" onchange="" disabled>
            <option value="Bornholm">Bornholm</option>
            <option value="Frederiksborg">Frederiksborg</option>
            <option value="Fyn">Fyn</option>
            <option value="København">København</option>
            <option value="Roskilde">Roskilde</option>
            <option value="Storstrøm">Storstrøm</option>
            <option value="Sønderjylland">Sønderjylland</option>
            <option value="Vejle">Vejle</option>
            <option value="Vestsjælland">Vestsjælland</option>
            <option value="Viborg">Viborg</option>
            <option value="Århus">Århus</option>
          </select>
        </td>
      </tr>
      <tr>
        <td>
        </td>
        <td>    med
        </td>
        <td>
          <select name="boligtype_b_2" id="Selb_3" class="felter" onchange="" disabled>
            <option value="Andelsbolig">Andelsbolig</option>
            <option value="Bofællesskab">Bofællesskab</option>
            <option value="Ejerlejlighed">Ejerlejlighed</option>
            <option value="Hus">Hus</option>
            <option value="Lejelejlighed">Lejelejlighed</option>
            <option value="Værelse">Værelse</option>
          </select>
        </td>
      </tr>
      <tr>
        <td>
        </td>
        <td>    der ligger i amtet
        </td>
        <td>
          <select name="amt_b_2" id="Selb_4" class="felter" onchange="" disabled>
            <option value="Bornholm">Bornholm</option>
            <option value="Frederiksborg">Frederiksborg</option>
            <option value="Fyn">Fyn</option>
            <option value="København">København</option>
            <option value="Roskilde">Roskilde</option>
            <option value="Storstrøm">Storstrøm</option>
            <option value="Sønderjylland">Sønderjylland</option>
            <option value="Vejle">Vejle</option>
            <option value="Vestsjælland">Vestsjælland</option>
            <option value="Viborg">Viborg</option>
            <option value="Århus">Århus</option>
          </select>
        </td>
      </tr>
      <tr>
        <td colspan="3">
<hr>
        </td>
      </tr>
      <tr>
        <td>
        </td>
        <td>
        </td>
        <td>   
          <input type="submit" name="submitEmailservice1" class="knap" value="Videre &raquo;" />
        </td>
      </tr>
    </table>
  </form>
</body>
</html>
Avatar billede Slettet bruger
06. januar 2004 - 20:04 #19
øh mener du at de alle sammen skal hedde det ?
Avatar billede roenving Novice
06. januar 2004 - 20:08 #20
Ja !-)

-- når du alligevel ikke bruger id (hvilket ikke er ofte man gør det med form-elementer !-) er der jo ikke noget galt for at bruge id til noget, vi kan udnytte !-)
Avatar billede Slettet bruger
06. januar 2004 - 20:13 #21
tak for hjælpen
Avatar billede roenving Novice
06. januar 2004 - 20:20 #22
-- og tak for points ;~}
Avatar billede Slettet bruger
08. januar 2004 - 12:02 #23
kunne jeg få dig til at udvide scriptet så det tager højde for om der ud for hver radio, er checked="checked" og hvis det er tilfældet, behøver man ikke at klikke på den pågældende for at få de tilhørende selects aktiveret? Du kan godt få flere point hvis du vil?
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