Dynamisch generierte Select-Boxen
Ncio
- javascript
Hallo,
bitte helft mir dabei, folgendes Script -an dem ich langsam verwzeifle- richtig ans Laufen zu kriegen.
Bei Auswahl eines bestimmen Landes in der ersten Selectbox, soll eine zweite Selectbox erscheinen, in der die Regionen dieses Landes aufgelistet sind.
Klicke ich nun in der ersten selectbox auf alle "Alle Länder", soll die zweite Selectbox wieder verschwinden.
Hier mein Script (inclusive Fehler :-( ) :
------------------------------------------------------
<html>
<head>
<title></title>
<script language="JavaScript">
<!--
function Wertuebertragen( i, name ) {
if(document.getElementById){
var selected = document.getElementById( name );
for(var j=0; j<selected.length;++j) {
if( selected.options[j].selected == true)
document.forms[0].b_land.value = selected.options[j].value;
}
}
else if (document.layers){
for(j=0;j<document.layers[i].document.forms[0].name.length;++j)
if(document.layers[i].document.forms[0].name.options[j].selected == true)
document.forms[0].b_land.value=document.layers[i].document.forms[0].name.options[j].value;
}
else if (document.all){
for(j=0;j<document.forms[0].name.length;++j)
if(document.forms[0].name.options[j].selected == true)
document.forms[0].b_land.value=document.forms[0].name.options[j].value;
}
return
}
var last=0;
function zeigeLaender()
{
var num;
for(var j=0; j<document.forms[0].land.length;++j) {
if( document.forms[0].land.options[j].selected == true) num = j;
}
if ( document.layers ){
document.layers[last].visibility="hide";
if(num>0)document.layers[num].visibility="show";
}
else if ( document.all ){
document.all.tags("div")[last].style.diplay="none";
if(num>0)document.all.tags("div")[num].style.display="block";
}
last=num;
document.forms[0].b_land.value="";
return
}
//-->
</script>
</head>
<body>
<form action="beispiel.php3" name="FrontPage_Form1" method="GET">
<input type="hidden" name="notify" value="yes">
<input type="hidden" name="b_land" value="">
<center>
<table CELLSPACING="0" BORDER="0" bgcolor="#00FFFF" width="512" style="font-family: Verdana; font-size: 10pt">
<tr>
<td width="12%">BAUJAHR <small>(jünger als)</small>:</td>
<td width="12%"><select NAME="baujahr" SIZE="1">
<option VALUE></option>
<option VALUE="2001">2001</option>
<option VALUE="2000">2000</option>
</select>
</td>
<td width="114">LAND:</td>
<td width="123"><select name="land" size="1" onchange="zeigeLaender()">
<option value="Alle">Alle Laender</option>
<option value="Deutschland">Deutschland</option>
<option value="Frankreich">France</option>
</select></td>
</tr>
<tr>
<td width="114">PREIS(Euro) <small>max.</small>:</td>
<td width="123"><select name="preis" size="1">
<option value></option>
<option value="100">100</option>
<option value="300">300</option>
<option value="500">500</option>
</select></td>
<td width="114">REGION:</td>
<td width="123">
<div id="Deutschland" style="display:none">
<p><select name="Deutschland" size="1" onchange="Wertuebertragen(0, 'Deutschland')">
<option value>Alle Regionen</option>
<option value="Baden-Württemberg">Baden-Württemberg</option>
<option value="Bayern">Bayern</option>
<option value="Berlin">Berlin</option>
</select></p>
</div>
<div id="Frankreich" style="display:none">
<p><select name="Frankreich" size="1" onchange="Wertuebertragen(1, 'Frankreich')">
<option value>Alle Regionen</option>
<option value="Alsace">Alsace</option>
<option value="Aquitaine">Aquitaine</option>
<option value="Auvergne">Auvergne</option>
<option value="Basse Normandie">Basse Normandie</option>
</select></p>
</div>
</td>
<tr><td colspan=4 align=center>
<input type="Submit" name="submit" value="Abschicken">
<input type="reset" value="Löschen">
</td></tr>
</table>
</center>
</form>
</body>
</html>
------------------------------------------------------
Danke im voraus für Eure Tipps
Grüße
Nico
Hallo,
bitte helft mir dabei, folgendes Script -an dem ich langsam verwzeifle- richtig ans Laufen zu kriegen.
Bei Auswahl eines bestimmen Landes in der ersten Selectbox, soll eine zweite Selectbox erscheinen, in der die Regionen dieses Landes aufgelistet sind.
Klicke ich nun in der ersten selectbox auf alle "Alle Länder", soll die zweite Selectbox wieder verschwinden.
Hallo!
Unter http://www.cfml.de/cfml/cftrix/obj/articlebox/article/show.cfm?AID=50&515884984
findest Du auch so ein Beispiel. Das müsstest Du problemlos anpassen können.
Gruss Alexa
Hi Alexa,
bei Deiner Lösung handelt es sich um aus einer Datenbank generierte, dynamische Selectboxen.
Diese Lösung suchte ich allerdings nicht ....
Hast Du eine Idee, wie ich mein Ausgangsscript korrekt ans Laufen bekomme?
Gruesse,
Nico
Hi Alexa,
bei Deiner Lösung handelt es sich um aus einer Datenbank generierte, dynamische Selectboxen.
Diese Lösung suchte ich allerdings nicht ....
Hast Du eine Idee, wie ich mein Ausgangsscript korrekt ans Laufen bekomme?
Gruesse,
Nico
Hallo Nico,
weisst Du, wo bei dir genau der Fehler liegt? Ich bin leider auch nicht so der Profi, aber das andere hat bei mir funktioniert. Die
Datenbank brauchst Du auch gar nicht. Aus den Daten wird nämlich ein Array erstellt, und das kannst Du ja auch selber ohne Datenbank
also z.B.
var laender = new Array();
laender[0]='Deutschland';
laender[1]='Deutschland';
laender[2]='Deutschland';
laender[3]='Frankreich';
var regionen = new Array();
regionen[0]='Berlin';
regionen[1]='Bayern';
regionen[2]='Ba-Wü';
regionen[3]='Paris';
Gruss Alexa
Hast Du eine Idee, wie ich mein Ausgangsscript korrekt ans Laufen bekomme?
noch ne Frage: hast Du das Script selber geschrieben, oder wo hast du's her (mit Link)?
Alexa
Hi Alexa,
noch ne Frage: hast Du das Script selber geschrieben, oder wo hast du's her (mit Link)?
Das Ausgangsscript stammt von mir. Es haben mir allerdings schon andere dabei geholfen, den/die Fehler zu suchen, ohne dass eine richtig funktionierende Lösung dabei herauskam. Anscheinend war kein JS.Experte dabei, der ich leider auch nicht bin.
Wenn ich wüsste, wo der Fehler steckt, wäre er wahrscheinlich schon behoben. Aber das ist es je gerade.....
Fast verzweifelnde Grüße
Nico
Hi Alexa,
noch ne Frage: hast Du das Script selber geschrieben, oder wo hast du's her (mit Link)?
Das Ausgangsscript stammt von mir. Es haben mir allerdings schon andere dabei geholfen, den/die Fehler zu suchen, ohne dass eine richtig funktionierende Lösung dabei herauskam. Anscheinend war kein JS.Experte dabei, der ich leider auch nicht bin.
Wenn ich wüsste, wo der Fehler steckt, wäre er wahrscheinlich schon behoben. Aber das ist es je gerade.....
Fast verzweifelnde Grüße
Nico
Hallo Nico!
pack mal um die erste Auswahlliste auch einen DIV-Bereich...
<div id="Laender">
<select name="land" size="1" onchange="zeigeLaender()">
<option value="Alle">Alle Laender</option>
<option value="Deutschland">Deutschland</option>
<option value="Frankreich">France</option>
</select>
</div>
Dann wird zumindest die richtige Liste eingeblendet. Nun musst Du nur noch die Liste wieder ausblenden lassen und dafür die andere einblenden.
Wenn Du dabei noch Probleme hast, kannst Dich ja nochmal melden.
gruss Alexa