Vet inte hur jag ska börja..... förstår inte riktigt hur du menar........ Ganska enkelt problem: Jag får inte riktigt kläm på det endå...... Tja, Getrows hittar du information om på google, och din kod där du försöker använda getrows, fast det inte fungerar, kan jag tyvärr inte se ;) Jo jag har googlat och googlat och enirat (eniro) och googlat och googlat och enirat.... så det värker i fingrarna.... Du har ju nästan en hel lösning några inlägg upp iofs, bara att stoppa in valfri html typ a = rs.GetRows() Detta har jag gjort ... men inte fungerar det.. Fortfarande ingen som vet en lösning på mitt problem ? Märkligt....... Kolla upp funktionen ubound. Pseudokod = visa en princip, dvs. ingenting man slänger in i kompilatorn och hoppas det fungerar. jag har letat och letat... både efter ubound och Pseudokod hittar ingenting som tycks lösa mina problem...... http://msdn.microsoft.com/en-us/library/fhx59d0t(VS.85).aspx Jag förstod på ett ungefär....... men endå inte..... Jag skulle vilja ha lite mer hjälp än korta svar........ Hm, om du utgår ifrån inlägget jag postade ifrån början med pseudokoden, hur mycket förstår du av det inlägget? Det känns lite som att du har dålig koll hur t.ex. arrayer fungerar (vilket är ganska grundläggande) Jag har ingen koll på arrayer. Dert vore tacksamt om du kunde förklara mer av din kod och vad jag ska stoppa in var. Du föreslår jag att du satsar på att lära dig grunderna i asp helt enkelt. Jag är inte särskilt intresserad av att koda ihop en helt fungerande lösning, att visa en princip är en sak, men att faktiskt göra någonting fungerande är en helt annan femma. Jag har inte direkt bett om en färdig lösning. Det enda jag har bett om är att du ska förklara din kod bättre. Jag har heller inte bett om att du ska lära mej grunderna i ASP....... trots att jag inte är så hemma i arrayer. Nej, du har inte bett mig om att jag ska lära dig grunderna i asp, men jag ber dig att lära dig grunderna i asp. Jag tycker att koden är ganska självförklarande som den är, förutsatt att man kan grundläggande asp. ........ OCH det enda jag har bett om är en mer utförligare förklaring till koden........ oavsett vad jag kan eller inte kan. Och jag tycker du har haft ganska tråkig ton i hela tråden. Och nej, om du inte har koll på arrayer så är det ganska svårt att förklara koden. Eftersom svaren/hjälpen var otillräckliga så har jag skippat allt ovan och hittat en annan lösning........ på ett annat forum..... Annars kan man ju se det som att du inte var tillräckligt intresserad av att lösa problemet =) Jo du..... i allra högsta grad så vill jag lösa problemet. Men jag tittar åt AJAX hållet.DROPDOWN meny problem
Jag har satt ihop ett formulär och har både textrutor och dropdown menyer och annat lull-lull i denna.
Problemet jag har skaffat mej är att jag har en dropdown meny med en massa datum. Datumen hämtas från en tabell, låt mej kalla den för tabell 1. Om man väljer ett datum ur denna dropdown meny så ska automatiskt en ny dropdown meny dyka upp där man kan välja på saker som har med detta datum att göra. Dessa saker hämtas från en annan tabell, här kallad för tabell 2.
Enligt tabell strukturen nedan: Om jag i en dropdown meny väljer datumet 2008-11-01 så ska en ny dropdown meny dyka upp med värden som hämtas ur tabell 2 och som har med datumet 2008-11-01 (i detta exempel: cykel 1, cykel 2, cykel 3).
Om jag ångrar mig och väljer ett annat datum ex.vis 2008-11-02 då ska den andra dropdown menyn laddas om med just värden som har med detta datum att göra (bil 1, bil 2, bil 3).
I mitt stilla sinne trodde jag ju inte att det skulle vara några problem. Men ASP-sidan får inte laddas om för då går infon från resterande formulär som klienten har matat in förlorad.
TABELL 1
ID | DATUM
### | 2008-11-01
### | 2008-11-02
### | 2008-11-03
TABELL 2
ID | VAD | DATUM
### | Cykel1 | 2008-11-01
### | Cykel2 | 2008-11-01
### | Cykel3 | 2008-11-01
### | Bil1 | 2008-11-02
### | Bil2 | 2008-11-02
### | Bil3 | 2008-11-02
### | Stol1 | 2008-11-03
### | Stol2 | 2008-11-03
### | Stol3 | 2008-11-03
Jag hittade ett bra exempel här på pellesoft men jag vet inte riktigt hur jag ska få det till att fungera så jag lösaer mina problem med hjälp av detta. [Dropdown meny automatisk] ...... det är precis så jag skulle vilja ha det fast med mina tabeller och värden.
Någon som har lust att hjälpa mej.... ganska brådis e de oxå.....Sv:DROPDOWN meny problem
innehållet i den första dropdown menyn ska laddas direkt... det ska egentligen den andra också men den ska vara osynligt fram till man gör sitt val i den första menyn och först då plockar den fram vad som ska vara synligt.......
än så länge så har jag kommit så långt att innehållet i den första menyn fylls som den ska.
Problemet kommer med den andra menyn......
Som det ser ut nu så lopas allt tills det (bottom is nådd) inte finns mer att lopa helt enkelt.
Den första DIVen ska bara skrivas ut en gång.....
############################################
<%Do Until RS.EOF%>
<div id="subcat<%=RS("Datum")%>" style="display: none;">
<select>
<option value="<%=RS("Lopp")%>"><%=RS("Lopp")%></option>
</select>
</div>
<%
RS.MoveNext
Loop
RS.Close
Connection.Close
%>
############################################
Kort och gott..... så här ser det ut när det körs....
---------------------------------------------
<html>
<head>
<script type="text/javascript">
function showHide(cat){
var subcats = new Array('subcat2008-10-19','subcat2008-10-20','subcat2008-10-21');
// Hide all
for(i=0;i<subcats.length;i++){
document.getElementById(subcats[i]).style.display='none';
}
// Show wanted category
if(cat!='cat0')
document.getElementById("sub"+cat).style.display='block';
}
</script>
</head>
<body>
<form>
<div>
<select onchange="showHide(this.options[this.selectedIndex].value)";>
<option value="cat0">Välj</option>
<option value="cat2008-10-19">2008-10-19</option>
<option value="cat2008-10-20">2008-10-20</option>
<option value="cat2008-10-21">2008-10-21</option>
</option>
</select>
</div>
<div id="subcat2008-10-19" style="display: none;">
<select>
<option value="Two wolfs Memorial">Two wolfs Memorial</option>
</select>
</div>
<div id="subcat2008-10-19" style="display: none;">
<select>
<option value="Millie P:s lopp">Millie P:s lopp</option>
</select>
</div>
<div id="subcat2008-10-19" style="display: none;">
<select>
<option value="Debutantloppet">Debutantloppet</option>
</select>
</div>
<div id="subcat2008-10-20" style="display: none;">
<select>
<option value="ccc">ccc</option>
</select>
</div>
<div id="subcat2008-10-20" style="display: none;">
<select>
<option value="bbb">bbb</option>
</select>
</div>
<div id="subcat2008-10-20" style="display: none;">
<select>
<option value="aaa">aaa</option>
</select>
</div>
<div id="subcat2008-10-21" style="display: none;">
<select>
<option value="fff">fff</option>
</select>
</div>
<div id="subcat2008-10-21" style="display: none;">
<select>
<option value="eee">eee</option>
</select>
</div>
<div id="subcat2008-10-21" style="display: none;">
<select>
<option value="ddd">ddd</option>
</select>
</div>
</form>
</body>
</html>
-------------------------------------------------------
SÅ HÄR VILL JAG ATT DET SKA VARA:
------------------------------------------
<html>
<head>
<script type="text/javascript">
function showHide(cat){
var subcats = new Array('subcat2008-10-19','subcat2008-10-20','subcat2008-10-21');
// Hide all
for(i=0;i<subcats.length;i++){
document.getElementById(subcats[i]).style.display='none';
}
// Show wanted category
if(cat!='cat0')
document.getElementById("sub"+cat).style.display='block';
}
</script>
</head>
<body>
<form>
<div>
<select onchange="showHide(this.options[this.selectedIndex].value)";>
<option value="cat0">Välj</option>
<option value="cat2008-10-19">2008-10-19</option>
<option value="cat2008-10-20">2008-10-20</option>
<option value="cat2008-10-21">2008-10-21</option>
</option>
</select>
</div>
<div id="subcat2008-10-19" style="display: none;">
<select>
<option value="Two wolfs Memorial">Two wolfs Memorial</option>
<option value="Millie P:s lopp">Millie P:s lopp</option>
<option value="Debutantloppet">Debutantloppet</option>
</select>
</div>
<div id="subcat2008-10-20" style="display: none;">
<select>
<option value="ccc">ccc</option>
<option value="bbb">bbb</option>
<option value="aaa">aaa</option>
</select>
</div>
<div id="subcat2008-10-21" style="display: none;">
<select>
<option value="fff">fff</option>
<option value="eee">eee</option>
<option value="ddd">ddd</option>
</select>
</div>
</form>
</body>
</html>
=================================================================
ASP KODEN SER UT SÅ HÄR ÄN SÅ LÄNGE:
<html>
<head>
<script type="text/javascript">
function showHide(cat){
var subcats = new Array('subcat2008-10-19','subcat2008-10-20','subcat2008-10-21');
// Hide all
for(i=0;i<subcats.length;i++){
document.getElementById(subcats[i]).style.display='none';
}
// Show wanted category
if(cat!='cat0')
document.getElementById("sub"+cat).style.display='block';
}
</script>
</head>
<body>
<form>
<%
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "driver={Microsoft Access Driver (*.mdb)};DBQ=" & server.mappath("DATABASEN.mdb")
SQLStmt = "SELECT * FROM TavlingsDatum ORDER BY Datum"
Set RS = Connection.Execute(SQLStmt)
%>
<div>
<select onchange="showHide(this.options[this.selectedIndex].value)";>
<option value="cat0">Välj</option>
<%Do Until RS.EOF%>
<option value="cat<%=RS("Datum")%>"><%=RS("Datum")%></option>
<%
RS.MoveNext
Loop
RS.Close
Connection.Close
%>
</option>
</select>
</div>
<%
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "driver={Microsoft Access Driver (*.mdb)};DBQ=" & server.mappath("DATABASEN.mdb")
SQLStmt = "SELECT * FROM TavlingsLopp ORDER BY Datum"
Set RS = Connection.Execute(SQLStmt)
%>
<%Do Until RS.EOF%>
<div id="subcat<%=RS("Datum")%>" style="display: none;">
<select>
<option value="<%=RS("Lopp")%>"><%=RS("Lopp")%></option>
</select>
</div>
<%
RS.MoveNext
Loop
RS.Close
Connection.Close
%>
</form>
</body>
</html>
----------------------------------------------------------
Problemen är:
1. hur ska jag lopa igenom databasen så alla datum som finns där lopas på rätt sätt på rad 5 (var subcats = new Array('subcat2008-10-19','subcat2008-10-20','subcat2008-10-21');). Som det är nu så har jag matat in dessa datum manuellt. Jag vill att de ska lopas istället.
2. Hur får jag DIVen (<div id="subcat<%=RS("Datum")%>" style="display: none;">) i den andra dropdown meny att bara skrivas ut 1 gång medans OPTIONS lopas till det inte finns mer att lopa.Sv: DROPDOWN meny problem
Istället för att loopa ut alltihopa, använd rs.GetRows(), kollar upp parametrarna på google om du är osäker. Utan parametrar så vill jag minnas att den hämtar rubbet som går. Vad GetRows gör är att den hämtar _alla_ resultat och lägger i en 2-dimensionell array som den returnerar. Smidigt värre ;)
Hur som haver, när du har din 2d-array så kommer du åt elementen enligt:
a = rs.GetRows()
response.write a(fält, rad)
Sedan gör du helt enkelt två loopar, en för javascriptet, och en för div-taggarna. Du behöver en extra variabel, en för vad du senast hade för datum. Psuedokod:
dim lastdate
lastdate = 0 'vad som helst här..
for i=0 to ubound(a)-1
if a(0, i) <> lastdate then
'Skriv ut nytt datum/avsluta div-tagg & börja på ny
end if
'skriv ut option eller vad du nu ska skriva ut
lastdate = a(0, i)
nextSv:DROPDOWN meny problem
Tror aldrig jag använt mej av GetRows förut...... skulle nog behöva lite mer hjälp med det där.Sv: DROPDOWN meny problem
Sv:DROPDOWN meny problem
Jag står på samma bräda och stampar.... Jag har hittat en hel del med getrows men det skriver bara ut innehållet i tabellen.... det löser inte mina problem.
Jag försöker en gång till med att presentera problemet.
Tabellen jag har beskrivs ungefär så här:
ID | VAD | DATUM
1 | Cykel1 | 2008-11-01
2 | Cykel2 | 2008-11-01
3 | Cykel3 | 2008-11-01
4 | Bil1 | 2008-11-02
5 | Bil2 | 2008-11-02
6 | Bil3 | 2008-11-02
7 | Stol1 | 2008-11-03
8 | Stol2 | 2008-11-03
9 | Stol3 | 2008-11-03
Det jag vill göra är att skriva ut allt så här:
1. <div id="subcat<%=RS("Datum")%>" style="display: none;">
2. <select>
3. <option value="<%=RS("Lopp")%>"><%=RS("Lopp")%></option>
4. </select>
5. </div>
Rad 1 där vill jag bara ha ett datum exempelvis: 2008-11-01
Rad 2 där vill jag att allt det som finns i tabellen med datumet 2008-11-01 ska lopas runt tills det inte finns mer att lopa...... sen ska allt upprepas med nästa datum osv osv osv
Så att resultatet ser ut så här:
<div id="subcat2008-11-01" style="display: none;">
<select>
<option value="Cykel1">Cykel1</option>
<option value="Cykel2">Cykel2</option>
<option value="Cykel3">Cykel3</option>
</select>
</div>
<div id="subcat2008-11-02" style="display: none;">
<select>
<option value="Bil1">Bil1</option>
<option value="Bil2">Bil2</option>
<option value="Bil3">Bil3</option>
</select>
</div>
<div id="subcat2008-11-03" style="display: none;">
<select>
<option value="Stol1">Stol1</option>
<option value="Stol2">Stol2</option>
<option value="Stol3">Stol3</option>
</select>
</div>
Det verkar inte fungera med getrows...... eller ?
Eller är jag helt ute och cyklar för jag kan inte få ihop det alls.
Finns det någon vänlig själ som kan hjälpa mej med detta på ett något mer pedagogisk sätt????Sv: DROPDOWN meny problem
Sv: DROPDOWN meny problem
response.write a(fält, rad)
Sedan gör du helt enkelt två loopar, en för javascriptet, och en för div-taggarna. Du behöver en extra variabel, en för vad du senast hade för datum. Psuedokod:
dim lastdate
lastdate = 0 'vad som helst här..
for i=0 to ubound(a)-1
if a(0, i) <> lastdate then
'Skriv ut nytt datum/avsluta div-tagg & börja på ny
end if
'skriv ut option eller vad du nu ska skriva ut
lastdate = a(0, i)
next
=========================================================================
Jag har provat att lägga in min kod i den kod du beskrev... det fungerarade inte....
Jag provar med enbart den kod du lämnade.... den skriver bara ut föörsta postens ID nummer.
frågor..
response.write a(fält, rad) är det fälten "Lopp" och "Datum" från min databas du menar ?
Vad är det för "Psuedokod" du menar.....
Ska jag vara helt ärlig så fattar jag nada av din kod.... vad ska jag lägga in var.
Skulle du kunna vara hygglig att visa mer hur du menar ?Sv:DROPDOWN meny problem
<%
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "driver={Microsoft Access Driver (*.mdb)};DBQ=" & server.mappath("DATABAS.mdb")
SQLStmt = "SELECT * FROM TavlingsLopp ORDER BY Datum"
Set RS = Connection.Execute(SQLStmt)
a = RS.GetRows()
response.write a(Datum, 0)
'Sedan gör du helt enkelt två loopar, en för javascriptet, och en för div-taggarna. Du behöver en extra variabel, en för vad du senast hade för datum. Psuedokod:
%>
<div id="subcat<%=RS("Datum")%>">
<%Do Until RS.EOF%>
<SELECT>
<OPTION VALUE="<%=RS("Lopp")%>"><%=RS("Lopp")%></OPTION>
<%
RS.MoveNext
Loop
RS.Close
Connection.Close
%>
<%
dim lastdate
lastdate = 0 'vad som helst här..
for i=0 to ubound(a)-1
if a(0, i) <> lastdate then
'Skriv ut nytt datum/avsluta div-tagg & börja på ny
' ****************************** VAD SKA JAG SKRIVA HÄR
end if
'skriv ut option eller vad du nu ska skriva ut
' ****************************** VAD SKA JAG SKRIVA HÄR
lastdate = a(0, i)
next
%>Sv: DROPDOWN meny problem
Sv:DROPDOWN meny problem
Sv: DROPDOWN meny problem
Kan du hänvisa till någon sida på nätet som belyser detta vore jag tacksam ...Sv:DROPDOWN meny problem
Läs speciellt under remarks.Sv: DROPDOWN meny problem
Finns de nått halvfärdigt på nätet som jag kan labba vidare med ?Sv:DROPDOWN meny problem
Oskar.... kan du ge mej lite mer förklaring till koden du lämnade en bra bit upp för jag fattar nada av den.... vet inte vad jag ska lägga in var och var/vilken del jag ska loopa runt.....
Jag får det inte till att fungera.
........ och jag ger snart uppSv: DROPDOWN meny problem
Sv:DROPDOWN meny problem
Sv: DROPDOWN meny problem
Sv:DROPDOWN meny problem
Det enda jag ifrån början bett om i detta forum är ifall någon har en lösning på mitt problem, vilket forumet är till för, hjälp kan vara stort eller litet.
En färdig lösning vore jag oerhört tacksam för men inget jag är ute efter eftersom jag inte lär mej något av det.
Jag vill bara ha en bättre förklaring på din kod..... eller någon sida på nätet som belyser mitt problem.Sv: DROPDOWN meny problem
Sv:DROPDOWN meny problem
Spydiga komentarer undanbedes gärna.Sv: DROPDOWN meny problem
Sv: DROPDOWN meny problem
Sv:DROPDOWN meny problem
Sv: DROPDOWN meny problem