Hallo,
leider kenne ich mich mit JS überhaupt nicht aus, da ich mich in meiner Freizeit mehr mit PHP befasse. Nun komme ich aber vermutlich um eine JS - Lösung nicht herum.
Es geht um Folgendes:
Ich möchte in einem Formular mit dem HTML Element Select die Kontinente auswählen können. In einem zweiten Select Feld sollen dann mit einer If - Abfrage nur die Länder angezeigt werden, die zu diesem Kontinent gehören z. B. Südamerika - Brasilien, Bolivien, Argentinien usw. Allerdings weiß ich nicht, wie ich die Werte aus dem Select Feld 'kontinent' an eine Variable übergebe.
Außerdem glaube ich, dass ich in diesem Fall auch die If - Abfrage falsch erstellt habe, da das Select Feld mit den Ländern immer leer ist. Selbst wenn ich der Variablen selber einen Wert zuweise.
Code
<form>
<select id="kont"></select>
<select id="land"></select>
</form>
<script>
var kontinente=['Europa','asien','afrika','amerika','australien'];
var Europa=['Dänemark','Nordzypern','Deutschland ','Norwegen','Dhekelia','Österreich','England ','Polen','Estland','Portugal','Europäische Union','Rumänie','Färöer','Russische Föderation','Finnland','San Marino','Frankreich','Schweden'];
var asien=['Georgien','Pakistan','Hongkong','Philippinen','Indien','Saudi-Arabien','Indonesien','Singapur','Irak','Sri Lanka','Iran','Syrien','Israel','Tadschikistan'];
var afrika=['Argentinien','Kolumbien','Bolivien ','Paraguay','Brasilien','Peru','Chile','Suriname','Ecuador','Uruguay','Falklandinseln','Venezuela','Guyana'];
var amerika=['nichts','n9ichts'];
var australien=['nichts','n9ichts'];
var menge=0;
var new_array=0;
var kon=document.getElementById('kont');
var lan=document.getElementById('land');
for(x=0;x<kontinente.length;x++){
kon.innerHTML+='<option value="'+kontinente[x]+'">'+kontinente[x]+'</option>';
}
kon.addEventListener('change',function(){
lan.innerHTML='';
if(this.value=='afrika'){
menge=afrika.length;
new_array=afrika;
}else if(this.value=='asien'){
menge=asien.length;
new_array=asien;
}else if(this.value=='Europa'){
menge=Europa.length;
new_array=Europa;
}else if(this.value=='australien'){
menge=australien.length;
new_array=australien;
}else if(this.value=='amerika'){
menge=amerika.length;
new_array=amerika;
}
for(y=0;y<menge;y++){
lan.innerHTML+='<option value="'+new_array[y]+'">'+new_array[y]+'</option>';
}
})
</script>