select / combo

Luda

Erfahrenes Mitglied
Hallo ich habe das problem wenn ich die 1. combobox (hersteller) anklicke dann soll sich die 2. combobox (modell) der 1. anpassen. d.h. wenn ich z.b. opel anklicke sollen auch nur alle opeltypen angezeigt werden. anscheinend geht das nur mit javascript und onchange. ich weiss aber nicht wie ich das umstricken muss. kann mir vielleicht jemand helfen?
liebe grüße luda

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%

'If NOT Session("Login") = "OK" Then
' Response.Redirect("Login.asp?Seite=pbereich.asp")
'End if
%>
<% dim her_audanr,mod_audanr,Her_name
her_audanr = request("hersteller")
mod_audanr = request("bezeichnung")
%>
<html>
<head>
<title>combobox test</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<form name="form1" method="post" action="">
<select name="hersteller" >
<option value="0">Marke</option>
<%HerstellerausDbLesen %>
</select>
<select name="bezeichnung">
<%modellAusDbLesen%>
</select>
</form>

</body>
</html>
<%

function herstellerAusDbLesen()
dim sql , rs, dbPfad,strConn

set rs = Server.CreateObject("ADODB.Recordset")
DbPfad = Server.MapPath("ars.mdb")
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dbPfad
sql = "Select * from hersteller order by her_name"
rs.Open SQL, strConn, 3, 3
with response
.write "<form name='FormularAuswahl' method='post' action='" & Request.ServerVariables("test.asp")&"' >"
' --- Öffnen der Schleife zur dyn. Ausgabe der Werte in die Optionsfelder
Do While Not RS.EOF
Response.Write "<option value=""" & rs.Fields("her_audatexnr") & """>" & RS.Fields("her_name")
RS.MoveNext
Loop
end with

RS.Close
Set RS = Nothing
end function
function ModellAusDbLesen()
dim sql , rs, dbPfad,strConn

set rs = Server.CreateObject("ADODB.Recordset")
DbPfad = Server.MapPath("ars.mdb")
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dbPfad
sql = "Select * from modell order by mod_name"
rs.Open SQL, strConn, 3, 3
with response
.write "<form name='FormularAuswahl' method='post' action='" & Request.ServerVariables("test.asp")&"' >"
' --- Öffnen der Schleife zur dyn. Ausgabe der Werte in die Optionsfelder
Do While Not RS.EOF
Response.Write "<option value=""" & rs.Fields("mod_audatex_nr") & """>" & RS.Fields("mod_name")
RS.MoveNext
Loop
end with

RS.Close
Set RS = Nothing
end function

%>
 
Hi

ich nutze immer folgendes Script

<form action="" name="FrmURL" id="FrmURL">
<select name="URLSelector" id="URLSelector" size="1" onchange="javascript:document.location=
document.FrmURL.URLSelector.options[document.FrmURL.URLSelector.selectedIndex].value;">
<option value="http://www.heise.de" SELECTED>Heise Website</option>
<option value="http://www.lecloux.de">Lecloux Website</option>
</select>
</form>

Du musst es halt für Dein Formular anpassen. Die Options packst Du in eine Schleife, im value gibst die gleiche Seite (sh. ServerVariable) an und schickst noch den Parameter mit, welchen Wert Du Dir über ein Recordset einliest z.B.

while not rs.eof
Response.write "<option value=""" & Request.ServerVariables("Script_name") & "?ID="& rs("id") & """>" & rs("Auto") & "</option>"
rs.movenext
wend

Da es an die gleiche Seite geschickt wird, liest Du Dir den Request.QueryString("ID") in Dein nächstes Drop-Down über ein 2. Recordset, welches Du auf diese ID selectierst, ein.

Dies aber nur eine serverseitige Lösung.
 
Zurück