Avatar billede sbarnney Nybegynder
03. maj 2001 - 15:26 Der er 3 kommentarer og
3 løsninger

Dynamisk Select ... selected ??

Hej Eksperter

Jeg har en dynamisk drop down menu, som bruges ved oprettelse af nye records. Når jeg gerne vil opdatere, har jeg brug for at menu\'en står på den tidligere valgte kategori (selected) Men da menu\'en er dynamisk kan jeg ikke finde ud af det.

----------- Koden -----------
    <tr>
        <td>KATEGORI</td>
        <td><select name=\"kat_id\">
            <%
            sql = \"SELECT DISTINCT * FROM v_kat ORDER BY kat_id\"
            rs.open sql, conn
                while not rs.eof
                    response.write \"<option value=\'\" & rs(\"kat_id\") & \"\'>\" & rs(\"kat\") & \"</option>\"
                  rs.movenext
                wend
                response.write \"</select>\"
            rs.close
            set rs = nothing
            %>
        </td>
    </tr>

----------- slut ------------------- 

MVH

Stig Barnney
Avatar billede nute Nybegynder
03. maj 2001 - 15:31 #1
while not rs.eof
  response.write \"<option value=\'\" & rs(\"kat_id\") & \"\'\"
  if( rs(\"kat_id\") == request.form(\"kat_id\") ) then
    response.write \" selected\"
  end if
  response.write \">\" & rs(\"kat\") & \"</option>\"
  rs.movenext
wend

/nute
Avatar billede carpediem Nybegynder
03. maj 2001 - 15:34 #2
<tr>
  <td>KATEGORI</td>
  <td><select name=\"kat_id\">
  <%
  sql = \"SELECT DISTINCT * FROM v_kat ORDER BY kat_id\"
  rs.open sql, conn
    while not rs.eof
      response.write \"<option value=\'\" & rs(\"kat_id\") & \"\'\"
      If Trim(strTidligereValgtKategori) = Trim(rs(\"Kat_id\")) Then
        Response.Write \" SELECTED\"
      End If
      Response.Write \">\" & rs(\"kat\") & \"</option>\"
      rs.movenext
    wend
    response.write \"</select>\"
  rs.close
  set rs = nothing
  %>
  </td>
</tr>
Avatar billede lange Nybegynder
03. maj 2001 - 15:34 #3
Du burde kunne ændre til noget lignende:

----------- Koden -----------
    <tr>
        <td>KATEGORI</td>
        <td><select name=\"kat_id\">
            <%
            TidligereValgteKategori = request(\"kat_id\")
            sql = \"SELECT DISTINCT * FROM v_kat ORDER BY kat_id\"
            rs.open sql, conn
                while not rs.eof
                  response.write \"<option value=\'\" & rs(\"kat_id\") & \"\'\"

                  if TidligereValgteKategori = rs(\"kat_id\") then
                  \' Mark this option as selected
                  response.write \" selected \"
end if

                  response.write \">\" & rs(\"kat\") & \"</option>\"
                  rs.movenext
                wend
                response.write \"</select>\"
            rs.close
            set rs = nothing
            %>
        </td>
    </tr>

----------- slut ------------------- 

Dette er forudsat, at siden modtager den tidligere valgte kategori i en værdi, der hedder kat_id
Avatar billede sbarnney Nybegynder
03. maj 2001 - 16:29 #4
Hej igen

Så køre det. Der var ikke en direkt vinder i blandt jer, men I var alle tre så tæt på. Jeg blev inspireret til at få følgende ud af jeres scripts. Jeg tildeler derfor 50 point til jer hver. Mange tak for den hurtige hjælp.

Stig Barnney

-------------------------------------------------
<%
sql = \"SELECT * FROM v_690 where id = \" & request(\"id\")
rs.open sql, conn

Dim TVK
TVK = rs(\"kat_id\")
%>
<form method=\"POST\" action=\"gem_ret.asp?id=<%=rs(\"id\")%>\">
  <table border=\"1\" cellspacing=\"0\" cellpadding=\"0\">
    <tr><td>BIOFER</td><td><input type=\"text\" name=\"biofer\" value=\"<%=rs(\"biofer\")%>\"></td></tr>
    <tr>
        <td>KATEGORI</td>
        <td><select name=\"kat_id\">
            <%
          strSQL = \"SELECT DISTINCT * FROM v_kat ORDER BY kat_id\"
          Set SubRS = Conn.Execute(strSQL)            
                while not SubRS.eof
                  response.write \"<option value=\'\" & SubRS(\"kat_id\") & \"\'\"
                    \' Mark this option as selected
                      if TVK = SubRS(\"kat_id\") then
                        response.write \" selected \"
                      end if
                  response.write \">\" & SubRS(\"kat\") & \"</option>\"
                  SubRS.movenext
                wend
                response.write \"</select>\"
            SubRS.close
            set SubRS = nothing
            %>
        </td>
    </tr>
</table><br>
  <input type=\"submit\" value=\"Send\" name=\"B1\">
</form>
<%
conn.Close
Set conn = nothing
Set SQLstmt = nothing
%>
-------------------------------------------------
Avatar billede sbarnney Nybegynder
03. maj 2001 - 16:31 #5
Hva\' faen  lange du fik da ikke noget, jeg trode man kunne bestemme hvor mange point man vil bruge. Hvorledes gør vi nemmest, at du også får dine fortjente 50 point ??

Stig Barnney
Avatar billede lange Nybegynder
03. maj 2001 - 16:34 #6
Heh, det går nok :)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester