Avatar billede doomstone-dk- Nybegynder
02. september 2003 - 16:16 Der er 11 kommentarer og
1 løsning

verdien af en select

Jeg har en select og en input.
Hvordan kan jeg gøre sådan at hvis select's verdi ikker er lig med "OTHER" så skal inputten forsvinde! men hvis den er = "OTHER" så skal inputten dukke frem!
Avatar billede roenving Novice
02. september 2003 - 16:21 #1
<input id="minInput" type="text">
<br><br>

<select onchange="if(this.value=='OTHER')document.getElementById('minInput').style.visibility='hidden';else document.getElementById('minInput').style.visibility='visible'">
  <option value="Første">Første</option>
  <option value="OTHER">OTHER</option>
</select>
Avatar billede doomstone-dk- Nybegynder
02. september 2003 - 17:04 #2
Er det muligt at gøre sådan at den kan skjule 2 input felter og vise 2 input felter i stedet for 1
Avatar billede roenving Novice
02. september 2003 - 17:13 #3
Ja, men så vil det nok være hensigtsmæssigt at bygge det lidt anderledes:

<div style="visibility:visible" id="inputDiv"><input id="minInput" type="text">
<br><input id="minInput" type="text">
<br></div><br>

<select onchange="if(this.value=='OTHER')document.getElementById('inputDiv').style.visibility='hidden';else document.getElementById('inputDiv').style.visibility='visible'">
  <option value="Første">Første</option>
  <option value="OTHER">OTHER</option>
</select>

-- så kan du sætte så mange inputs ind i div'en som du har lyst til ...

Jeg har med vilje her brugt visibility, som gør at andre elementer ikke flytter rundt, men man kan også bruge display:block|none som vil betyde at andre elementer overtager pladsen, når dispaly='none'
Avatar billede Slettet bruger
02. september 2003 - 20:36 #4
Hm, this.value virker vist ikke i særlig mange browsere. Mit bud ville være:

<select onchange="document.getElementById('inputDiv').style.visibility = (this.options[this.selectedIndex].value == 'OTHER') ? 'visible' : 'hidden';">
Avatar billede roenving Novice
02. september 2003 - 23:38 #5
>>phoenixv

-- jeg blev faktisk lidt overrasket, da jeg tilfældigvis en dag kom til at opdage at selectbox.value er IE4+ og NN6+ så jeg er begyndt at bruge den i almindelige svar ...
Avatar billede doomstone-dk- Nybegynder
03. september 2003 - 16:16 #6
Hmm kan ikke hitte ud af hvorfor det ikke virker! når jeg teste scripet for sig  selv virker det jo fint!
Men her "Hider" den det overhoved ikke


  <tr>
    <td width="15%" height="19" class="tbhead">Sub Gruppe:</td>
    <td width="60%" height="19" class="tbbody">
   
   
<select class="input" size="1" name="cat" onchange="if(this.value=='OTHER')document.getElementById('inputDiv').style.visibility='visible';else document.getElementById('inputDiv').style.visibility='hidden'">
   
    <?
        $foresp = mysql_query("SELECT * FROM 1x_cat ORDER BY name") or die (mysql_error());
    $ja = mysql_num_rows($foresp);
    IF ($ja == 0){} else {
    while($data = mysql_fetch_array($foresp)){
    echo "<option value=\"$data[id]\"";
    IF($data[id]==$_GET[cat]){echo " selected "; }
    echo ">$data[ocat] / $data[name]</option>";   
    }}
    ?>
   
    <option value="OTHER"></option>
    <option <?IF("OTHER"==$_GET[cat]){echo "selected"; }?> value="OTHER">Ny Sub Gruppe</option>
  </select>
 
 
 
  </td>
  </tr>
 
<div style="VISIBILITY: hidden" id="inputDiv">
  <tr>
    <td width="15%" valign="top" class="tbhead">If other:</td>
    <td width="60%" height="19" valign="top" class="tbbody">
    <input id="inputDiv" class="input" type="text" value="<?=$_GET[other]?>" name="other" size="20">
    </td>
  </tr>
</div>

</table>
Avatar billede roenving Novice
03. september 2003 - 16:20 #7
Prøv at vise os koden, når php er færdig -- altså kildekoden fra en side !-)
Avatar billede doomstone-dk- Nybegynder
03. september 2003 - 17:01 #8
<tr>
    <td width="15%" height="19" class="tbhead">Sub Gruppe:</td>
    <td width="60%" height="19" class="tbbody">
   
   
<select class="input" size="1" name="cat" onchange="if(this.value=='OTHER')document.getElementById('inputDiv').style.visibility='visible';else document.getElementById('inputDiv').style.visibility='hidden'">
   
    <option value="26">03x.dk / 03x.dk oplysninger</option>
<option value="17">Andet / Fun </option>
<option value="15">Andet / Glemte tider</option>
<option value="23">Andet / House of doom</option>
<option value="27">Fest / Kaspers Fest</option>
<option value="14">Skole / Klasse billeder</option>
<option value="21">Andet / Knallerter</option>
<option value="24">Andet / Musik</option>
<option value="28">Andet / Photoshop</option>
<option value="25">Skole / På skolen</option>
<option value="13">Fest / Scor-en-sut Fest</option>
<option value="22">Fest / Stines Fest</option>
   
    <option value="OTHER"></option>
    <option  value="OTHER">Ny Sub Gruppe</option>
  </select>
 
 
 
  </td>
  </tr>
 
<div style="VISIBILITY: hidden" id="inputDiv">
  <tr>
    <td width="15%" valign="top" class="tbhead">If other:</td>
    <td width="60%" height="19" valign="top" class="tbbody">
    <input id="inputDiv" class="input" type="text" value="" name="other" size="20">
    </td>
  </tr>
</div>

</table>
Avatar billede roenving Novice
03. september 2003 - 17:11 #9
Jeg tror forklaringen er noget med hvordan man placerer det i DOM-hierarkiet -- og i dette tilfælde er <div>-tagget overflødigt, så du kan bare:

  <tr style="VISIBILITY: hidden" id="inputDiv">
    <td width="15%" valign="top" class="tbhead">If other:</td>
    <td width="60%" height="19" valign="top" class="tbbody">
    <input class="input" type="text" value="" name="other" size="20">
    </td>
  </tr>

-- altså skjule/vise tabelrækken !-)
Avatar billede doomstone-dk- Nybegynder
03. september 2003 - 17:37 #10
Ok tak virker nu gider du skrive et svar?
Avatar billede roenving Novice
03. september 2003 - 17:39 #11
Velbekomme '-)
Avatar billede roenving Novice
03. september 2003 - 17:55 #12
-- og tak for points ;~}
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