24. august 2004 - 21:04Der er
10 kommentarer og 1 løsning
dropdown/combobox - skal vise to felter, men viser kun ét!!
Hej eksperter,
dette er min kode, som henter data fra db til dropdown: --- <% Set Cbors = Server.CreateObject("ADODB.Recordset") Cbors.Open "safdelinger", conn, adOpenForwardOnly, adLockReadOnly, adCmdTableDirect Response.Write "<select name=dropdown size=1>" 'danner en tom Response.write "<option value=" & " " & ">" & " " & "</option>"
Do While Not CboRs.EOF Response.Write "<option value='" & CboRs("Afdelingsid") & "'>" & CboRs("Navn") & "</option>" CboRs.MoveNext Loop
Response.Write "</select>" CboRs.Close Set CboRs = Nothing %> --
Hvorfor viser den ikke begge felter fra tabellen??
Hvordan mener du? Har du to poster/tækker og den viser en eller? Eller tænker du på du har to kolonner, dne en kolonne bruge i value og kan ikke direkte ses, den anden bruges som navn og kan ses.
Hej eagleeye, Tabellen indeholder en del poster. Dropdown virker også men: Problemet er, at jeg i koden (så vidt jeg selv kan se) beder om, at hver række i listen skal indeholde to felter "afdelingsid" og "navn" - men listen viser kun feltet "navn"!!
Som koden er ligges "Afdelingsid" ind i value på option. Så når man med Request.From("dropdown") får eksvis ÅRH hvis man har valgt Århus. Den eneste kolonne som vises som tekst er "navn".
Lad mig lige se om jeg forstår dig rigtig! Som min kode er nu - betyder det så, at hvis man i dropdown vælger Århus, så vil request.from("dropdown") returnere ÅRH ? men hvis koden ændres, som du anfører så vil request.from("dropdown") indeholde ÅRH ÅRHUS ??
Jeg er helt på hjemmebane med VB og er vant til at kunne referere til en bestemt kolonne i en combobox. I ASP/HTML (som jeg er gået igang med at lære) skal jeg have fundet udaf, hvordan jeg kan referere til det afdelingsid, som vælges i dropdown.
Det du får i request.from("dropdown") er det som er lagt ind i value i <option> tagen. Det jeg har ændre vil ikke ændre på du får ÅRH men det ændre på du gerne skulle få vist "ÅRH Århus" i drop-down menuen.
Hvis du kigge i HTML koden for siden vil det se sådan her ud: <option value='ÅRH'>ÅRH Århus</option>
Det som er imellem de to <option> og </option> er dte om bliver vist i drop-down menuen. Det står lige efter values= er det som du får overført til Request.Form.
Tak for hjælpen - nu forstår jeg sammenhængen. Må jeg give dig en udfordring mere? Hvordan "mærker" man, hvis der vælges en værdi i en dropdown? I VB ville jeg referere til Onchange property - gider du?
Under alle omstændigheder - lav et svar så du kan få points.
Jeg er ikke helt sikker på hvad du mener med "mærker" I browseren kan også lave en Onchange i <select> tagen som aktivers når man vægler en værdi er det sådan du mener? Så kan man lave kalde en funktion som er skrevet i javascript eller VB.
Du er jo en ørn til dette her og jeg er jo næste på vej til at misbruge dig!
-> Jeg har nu lavet følgende funktion: Function UpdatefromCBO(Fvar) Fvar = request.from("dropdown") End function
-> Den fulde kode for afsnittet med dropdown ser således ud: <tr> <td>Afdeling:</td> <td><INPUT maxLength=5 size=5 name=afdeling value="<%=afdeling%>"> <INPUT maxLength=20 size=20 name=afdCbo value="<%=afdCbo%>"> <% Set Cbors = Server.CreateObject("ADODB.Recordset") Cbors.Open "safdelinger", conn, adOpenForwardOnly, adLockReadOnly, adCmdTableDirect
Response.Write "</select>" CboRs.Close Set CboRs = Nothing %></td> </tr>
-> Variablen "afdelingsid" skulle - hvis jeg har forstået dig rigtig - nu blive tildelt ÅRH, hvis det vælges i dropdown. Det gør den ikke - eller glemmer jeg noget kode for at opdatere felterne på skærmen?
Og: Det er første gang idag jeg har stillet spørgsmål og jeg aner ikke hvordan jeg får givet dig point? - hvordan gør man?
Et hurtigt eksempel hvis man har denne form: <form action="indsaet.asp" method="post"> <input type="text" name="Fornavn"> <input type="submit" value="Gem"> </form>
Når man trykke på "Gem" knappen sendes form data til siden indsaet.asp. På den side kan man så hente det om er skrevet i input feltet Fornavn med: Fornavn= Request.Form("Fornavn")
Så skal du trykke på mit navn i den boks som indeholder navne på dem som har svaret, og så trykke på Accepter så skulle jeg gerne få dem :)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.