2017-05-18 3 views
0

Ich habe eine Auswahl Dropdown, die dynamisch ausgefüllt ist und eine Liste der Server anzeigt.Hide div basierend auf <select> Optionstyp

Ich habe derzeit ein Skript ein Vorhängeschloss/offenes Vorhängeschloss angezeigt zu zeigen, wenn eine Option ein Passwort erforderlich ist, ein exert dieses Skripts unten:

var has_password=true; 
if(stations[i].Encryption =="none") has_password=false; 
if(stations[i].Quality==100) img= 
(has_password?"/images/pass.png":"/images/nopass.png"); 

Was Ich mag würde, ist zu tun, verstecken die hTML-Passwort-Eingabefeld, wenn die gewählte Option erfordert kein Passwort, aber ich glaube nicht, mein Ansatz richtig ist:

if(stations[i].Encryption =="none"); 
$("#password-div").hide(); 
else 
{ 
$("#password-div").show(); 
+3

Die 'hide()' 'show()' ist korrekt, Sie müssen ein 'onchange' Ereignis an Ihre Auswahl anhängen, so dass Sie dann das Ausblenden/Anzeigen Ihrer div – Lixus

+1

Ihr Ansatz wird funktionieren, vorausgesetzt, dass Sie fügen Sie die entsprechenden Listener hinzu. Was ist das Problem, mit dem Sie gerade konfrontiert sind? – orabis

+0

Wenn Sie uns Ihr 'html' zeigen, das würde auch nützlich sein. – larz

Antwort

2

Sie so etwas tun kann .. dies ist eine Demo-I auf w3schools gefunden

function myFunction() { 
 
    var x = document.getElementById("mySelect").value; 
 
    document.getElementById("demo").innerHTML = "You selected: " + x; 
 
}
<select id="mySelect" onchange="myFunction()"> 
 
    <option value="Audi">Audi 
 
    <option value="BMW">BMW 
 
    <option value="Mercedes">Mercedes 
 
    <option value="Volvo">Volvo 
 
</select> 
 

 
<p>When you select a new car, a function is triggered which outputs the value of the selected car.</p> 
 

 
<p id="demo"></p>

, dass Sie eine Idee für das Ereignis onchange geben sollte. Sie haben die hide() und show() korrekt. Fügen Sie das onchange-Ereignis jetzt einfach hinzu.

+0

Ich war in der Lage, das onchange-Ereignis hinzuzufügen und es zu erhalten, um den Typ der Verschlüsselung in einem Etikett anzuzeigen, aber nicht in der Lage, Div noch zu verbergen, wird es weiter versuchen. Danke –

+0

Wenn du einen Entwickler davon erstellen kannst, kann ich es dir anschauen und dir helfen. Verwenden Sie codepen.io oder etwas ähnliches. Ansonsten zeigen Sie Ihren neuen Code, mit dem Sie arbeiten, und ich werde einen Fehler machen. – lostInTheTetons

+0

@RyanPeters können Sie Ihren neuen Code zeigen. – lostInTheTetons