webForumDet fria alternativet

Knepigt fel

ASP

5 svar · 212 visningar · startad av Mika3l

Medlem sedan nov. 20018 492 inlägg
Frågan#1

Ska göra något så simpelt som att få en <option> att få värdet selected om två värden stämmer överens, dock så fungerar det av någon oförklarlig anledning inte, får inget felmeddelande eller så men ingenting händer. :l

Set rs2 = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT CID, name FROM categorys ORDER BY name"
rs2.Open SQL, Connect
If NOT rs2.EOF Then
Response.Write("<select name=""cat"">")
Response.Write("<option value=""""></option>")
Do Until rs2.EOF
If rs2("CID") = Request("cat") Then
s = " SELECTED"
End If
Response.Write("<option value=""" & rs2("CID") & """" & s & ">" & rs2("name") & "</option>")
rs2.MoveNext
Loop
Else
Response.Write("Det finns ingen kategori tillgänglig!")
End If
rs2.Close
Set rs2 = Nothing

Request("cat") vet jag även att det innehåller ett värde som ska ge resultatet att en <option> ska få värdet SELECTED.

Medlem sedan dec. 200012 464 inlägg
#2
If clng(rs2("CID")) = clng(Request("cat")) Then
s = " SELECTED"
else
s = ""
End If
Medlem sedan nov. 20018 492 inlägg
#3

Tack LarsG, fungerade utmärkt. :)
Kan du förklara vad cIng är för någon funktion?

Medlem sedan juni 200032 967 inlägg
#4

CLng konverterar värden till subtypen Long. Värden måste vara jämförbara subtypsmässigt för att en if-sats ska gå igenom.

En sträng som innehåller "33" är inte samma sak som talet 33.

Mvh

Medlem sedan juni 200032 967 inlägg
#5

Ett stycke länk till tidigare inlägg: http://www.webforum.nu/showthread.php?s=&postid=417642#post417642

Mvh

Medlem sedan nov. 20018 492 inlägg
#6

K, tack. :)

266 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
135 ms — ändringar (db)