Ein - /Ausblenden mehrere DIVs mit Wählen Sie mit Hilfe von jQuery
Ich im wesentlichen die gleiche situation, wie die person in der folgenden Frage:
Link: gewusst wie: anzeigen/ausblenden von divs, indem Sie wählen.(jquery)
Durch umfangreiche Suche in Google war ich in der Lage zu kommen mit verschiedenen Methoden, in denen Menschen behaupten, dass Ihre Methode funktioniert. Ich habe noch zu bekommen, um korrekt zu arbeiten noch. Noch weiß ich nicht genug über jQuery zu verstehen, wie diese zu schreiben, von Grund auf, damit ich mich darauf verlassen, wirklich gute Beispiele für jetzt.
Was ich versucht habe zu arbeiten (basierend auf den Beispielen, die ich gefunden habe und ausprobiert habe), ist dies:
<script type="text/javascript">
(document).ready(function() {
('.box').hide();<br/>
('#dropdown').change(function() {
('#divarea1')[ ($(this).val() == 'area1') ? 'hide' : 'show' ]()
('#divarea2')[ ($(this).val() == 'area2') ? 'hide' : 'show' ]()
('#divarea3')[ ($(this).val() == 'area3') ? 'hide' : 'show' ]()
});
});
</script>
<form>
<select id="dropdown" name="dropdown">
<option value="0">Choose</option>
<option value="area1">DIV Area 1</option>
<option value="area2">DIV Area 2</option>
<option value="area3">DIV Area 3</option>
</select>
</form>
<div id="divarea1" class="box">DIV Area 1</div>
<div id="divarea2" class="box">DIV Area 2</div>
<div id="divarea3" class="box">DIV Area 3</div>
- Hinweis: ich bin mit eckigen Klammern anstatt der weniger-als und größer-als-Zeichen rund um html korrekt anzeigen dieser Nachricht.
Was ich bekomme, wenn ich dies testen:
- Beim ersten laden mit nichts ausgewählt => Kein DIV-Element angezeigt.
- Wenn ich wählen Sie die DIV-Bereich 1 => DIV-Bereich 2 und 3 angezeigt werden.
- Wenn ich wählen Sie die DIV-Bereich, 2 => DIV Bereich 1 und 3 angezeigt werden.
- Wenn ich wählen Sie die DIV-Bereich, 3 => DIV Bereich 1 und 2 angezeigt werden.
Mein Gehirn ist gebraten für den Tag. Was kann ich tun um dies zu beheben?
- Nicht eine Antwort auf deine Frage, sondern erkunden jQuery#toggle-Methode für bedingte ein - /ausblenden.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich würde dies tun:
$('.box').hide();
Linie (innerhalb der document-ready-Funktion)....$('#div' + $('#dropdown').val()).show();
@fudgey gegeben hat, eine schöne Lösung. haben aber wenig Zweifel. Es wird davon abhängen, Wert und ändern müssen Attribut ID
<div>
jeder Zeit.Also ich würde dies tun
`
Swap ein - /ausblenden, so dass es wie folgt aussieht:
Dieser code ist ein wenig kurz und bündig:
Im wesentlichen, wenn es einen Wert ausgewählt ist (D. H., die option " nicht festgelegt "Auswählen"), dann alle div.box-Elemente angezeigt werden. Die DIV-matching-die ausgewählte option wird dann ausgeblendet. Dies sollte geschehen, schnell genug, so dass der Blitz nicht auffällt.