Hallo.
Ich habe seit zwei Stunden folgendes Problemchen:
Ich habe zwei Selectmenüs.
Stadtauswahl:
Locationauswahl:
Dazu folgendes Javascript:
Funktion im Moment:
Ich wähle eine Stadt aus und das Javascript blendet alle option-Felder, bei denen label nicht der ausgewählten Stadt entspricht, aus – mit einer css-klasse durch display:none;
Das funktioniert im FireFox ganz prima. Opera, IE6 usw. kriegen das nicht hin. Opera zeigt im zweiten Selectmenü plötzlich die Städte (alle) als Text und IE6 lässt die Locationnamen stehen, aber blendet auch nichts aus.
Wie kann ich also vorgehen?
Die Daten kommen aus nem PHP-Script. Ich wollte eigentlich drauf verzichten, die per Ajax und erneutem Datenbank-Query nachzuladen.
:/
Ich habe seit zwei Stunden folgendes Problemchen:
Ich habe zwei Selectmenüs.
Stadtauswahl:
HTML:
<select id="stadt" name="stadt">
<option value="choose">Bitte wählen</option>
<option value="Köln">Köln</option>
<option value="Bonn">Bonn</option>
</select>
Locationauswahl:
HTML:
<select id="ort" name="ort" disabled="disabled">
<option value="choose">Bitte zuerst Stadt wählen</option> <option label="Köln" value="1">Stadtgarten</option>
<option label="Köln" value="2">Bogen 2</option>
<option label="Köln" value="3">Studio</option>
<option label="Bonn" value="5">Session</option>
<option label="Köln" value="6">Artheater</option> <option label="Bonn" value="7">3-Raum-Wohnung</option>
</select>
Dazu folgendes Javascript:
PHP:
$(document).ready(function(){
$("#stadt").change(function () {
var stadtAuswahl = $("#stadt").val();
$("#ort option").removeClass("hidden");
$("#ort option").each(function(){
var option = $(this);
var stadt = option.attr("stadt");
$("#ort option[stadt='"+stadtAuswahl+"']").addClass("hidden");
});
$("#stadt option[value='choose']").remove();
$("#ort option:first").text("Bitte wählen").attr("selected","selected");
$("#ort").removeAttr("disabled");
})
});
Funktion im Moment:
Ich wähle eine Stadt aus und das Javascript blendet alle option-Felder, bei denen label nicht der ausgewählten Stadt entspricht, aus – mit einer css-klasse durch display:none;
Das funktioniert im FireFox ganz prima. Opera, IE6 usw. kriegen das nicht hin. Opera zeigt im zweiten Selectmenü plötzlich die Städte (alle) als Text und IE6 lässt die Locationnamen stehen, aber blendet auch nichts aus.
Wie kann ich also vorgehen?
Die Daten kommen aus nem PHP-Script. Ich wollte eigentlich drauf verzichten, die per Ajax und erneutem Datenbank-Query nachzuladen.
:/