Johnnii360
Erfahrenes Mitglied
Servus zusammen!
Ich häng schon seit gestern wieder an einem anderen Problem fest und komm einfach nicht dahinter. Ich hab schon einiges mit :not(), fadeToggle() usw. ausprobiert, aber nichts hat funktioniert. Google kann mir da leider auch nicht weiterhelfen.
Problembeschreibung:
Ich habe hier ein Selectmenü, das mir sämtliche Elemente einblenden soll (fadeIn) welche die gewählte Klasse enthalten. Das Bedeutet: Ausgewählter Text im Selectmenü entspricht dem Klassennamen. Wird jetzt aber eine Klasse ausgewählt, die nicht in den Elementen vorhanden sind, dann sollten diese ausgeblendet werden - also wie Toggle.
Beispiel: Der Wert "Projekt", zeigt mir alle Elemente mit der Klasse Projekt an. Wähle ich jetzt z.B. Service, sollen alle Elemente ausgeblendet werden die nicht Service enthalten. Leider etwas schwierig. Die Klasse wird nur in p, input und label Elementen verwendet - alles in einem form. Mach ich aber nun $("p + input + label").not(".KLASSENNAME"), dann kann es sein, dass auch andere Sachen ausgeblendet werden, die nicht ausgeblendet werden sollen.
Hier der jQuery-Code:
Das Selectmenü (mittels jQueryUI):
Und so sähe jetzt ein Element-Gespann aus:
Die Elemente werden erstmal anfangs ausgeblendet, bis man was aus dem Selectmenü wählt.
Ich häng schon seit gestern wieder an einem anderen Problem fest und komm einfach nicht dahinter. Ich hab schon einiges mit :not(), fadeToggle() usw. ausprobiert, aber nichts hat funktioniert. Google kann mir da leider auch nicht weiterhelfen.
Problembeschreibung:
Ich habe hier ein Selectmenü, das mir sämtliche Elemente einblenden soll (fadeIn) welche die gewählte Klasse enthalten. Das Bedeutet: Ausgewählter Text im Selectmenü entspricht dem Klassennamen. Wird jetzt aber eine Klasse ausgewählt, die nicht in den Elementen vorhanden sind, dann sollten diese ausgeblendet werden - also wie Toggle.
Beispiel: Der Wert "Projekt", zeigt mir alle Elemente mit der Klasse Projekt an. Wähle ich jetzt z.B. Service, sollen alle Elemente ausgeblendet werden die nicht Service enthalten. Leider etwas schwierig. Die Klasse wird nur in p, input und label Elementen verwendet - alles in einem form. Mach ich aber nun $("p + input + label").not(".KLASSENNAME"), dann kann es sein, dass auch andere Sachen ausgeblendet werden, die nicht ausgeblendet werden sollen.
Hier der jQuery-Code:
Javascript:
$(function(){
$("#vorgang").selectmenu({
select: function(){
var SelectMenuText = $(this).find("option:selected").text();
$("." + SelectMenuText).fadeIn();
}
});
});
Das Selectmenü (mittels jQueryUI):
HTML:
<label for="vorgang">Vorgangstyp</label>
<select id="vorgang" name="vorgang">
<option disabled value="none" selected> </option>
<option>Projekt</option>
<option>Intern</option>
<option>OP</option>
<option>Service</option>
<option>RMA</option>
</select>
Und so sähe jetzt ein Element-Gespann aus:
HTML:
<label for="hersteller" style="display: none;" class="RMA Service">Hersteller</label>
<input type="text" id="hersteller" name="hersteller" value="" style="display: none;" class="text ui-content RMA Service">
Die Elemente werden erstmal anfangs ausgeblendet, bis man was aus dem Selectmenü wählt.