Hej!
Jag har sökt igenom forumet och pillat lite men inte hittar eller lyckats få det att fungera som jag vill.
Problemet
Jag har först en lista med länder som hämtas ur en databas och visas i en listmeny. Vissa av dessa länder har även stater som man ska kunna välja på så att om man väljer tex USA ska en lista med deras stater komma upp (som jag också har i databasen). Detta ska bara komma upp om man väljer England, Australien, Canada eller USA. Annars ska inte denna andra listmeny visas. Det är ju olika stater för de olika länderna som ska hämtas så jag måste göra det med fem olika möjligheter.
1.Hämta ingen lista om inte det är USA, canada, england eller australien som valts
2-5 Lista valt lands stater från databasen i en listmeny.
Jag har löst att när man väljer land så skickar han till en funktion som kollar efter 4 värden ifall det är något så visar han sidan med en querystring och det land man valts stater.
funktionen är
<script>
function visastat(){
if(document.AddDistributor.IntCountryId.selectedIndex==223){location.href="Default.asp?ShowStates=US"}
if(document.AddDistributor.IntCountryId.selectedIndex==12){location.href="Default.asp?ShowStates=AU"}
if(document.AddDistributor.IntCountryId.selectedIndex==99){location.href="Default.asp?ShowStates=CA"}
if(document.AddDistributor.IntCountryId.selectedIndex==194){location.href="Default.asp?ShowStates=GB"}
if(parent.location.search!=""){location.href="default.asp"}
}
</script>
och hur jag visar staterna är
<%
If Request.Querystring("ShowStates") = "US" Then
strSQL = "SELECT CountryName_ID, StateId, StateName, StateCode "_
&"FROM dbo.CountryStates Where CountryName_ID = "& 224 &""
arrRS = CN.Execute(strSQL).GetRows()
%>
<tr>
<td valign="top" width="21%" class="text">
<div align="right">State </div>
</td>
<td width="79%">
<select name="IntStateId" class="liststyle">
<%
For i = 0 To Ubound(arrRS,2)
Response.Write "<option value='" & arrRS(1,i) & "'>" & arrRS(2,i) & "( "& arrRS(3,i) &")</option>"
Next
Erase ArrRs
%>
</select>
</td>
</tr>
<% ElseIf Request.Querystring("ShowStates") = "AU" Then
strSQL = "SELECT CountryName_ID, StateId, StateName, StateCode "_
&"FROM dbo.CountryStates Where CountryName_ID = "& 13 &""
arrRS = CN.Execute(strSQL).GetRows()
%>
<tr>
<td valign="top" width="21%" class="text">
<div align="right">State </div>
</td>
<td width="79%">
<select name="IntStateId" class="liststyle">
<%
For i = 0 To Ubound(arrRS,2)
Response.Write "<option value='" & arrRS(1,i) & "'>" & arrRS(2,i) & "( "& arrRS(3,i) &")</option>"
Next
Erase ArrRs
%>
</select>
</td>
</tr>
osv. tills alla fyra länderna är genomkörda. Problemet jag har märkt är att om man fyller i formulären och väljer ett land med stater så laddas sidan om och det som fanns inskrivet i formulären försvinner, jag skulle kunna lösa detta genom att lägga land valet överst men det vill jag helst undvika då det är bättre att lägga det längre ner på sidan. Någon som har några förslag, ska jag skrota detta helt eller går det att lösa med denna lösning eller någon annan.
mycket mycket tacksam
------------------
Real mad hiphop flavaz kickin' it right from tha street without no FEAR, Yo !