Sätta en cookie kanske. Men då passar frågan kanske bättre under ASP-forumet. Klicka på "rapportera till moderatorn" och be honom flytta inlägget.
Jag har följande kod som listar fram grupper och sen undergrupp med namn.
Dvs om jag har gruppen:
Admin och väljer den så listas alla namn som finns med i gruppen admin osv.
Nu har jag problemet att när jag går in och redigerar en befintlig post så måste jag varje gång välja grupp och namn på nytt eftersom den inte kommer ihåg värdet.
Jag har ID-nummret på gruppid och userid om man kan använda det. Jag har lyckats få den att välja rätt grupp och göra den SELECTED men på namn var det lite svårare då den skrivs ut dynamiskt via nåt javascript.
Nån som har en idé på en lösning?
'befintliga värden om man redigerar posten
gruppid = RS("gruppid")
userid = RS("userid")
Set rsX = Server.CreateObject("ADODB.Recordset")
sQuery = "SELECT grupp.gruppnamn, users.name, " & _
"grupp.Id AS gID, users.Id AS uID " & _
"FROM users INNER JOIN grupp " & _
"ON users.gruppid = grupp.Id " & _
"ORDER BY grupp.gruppnamn, users.name"
rsX.Open sQuery, Connection, adOpenForwardOnly, adLockReadOnly, adCmdText
If rsX.EOF Then
Response.Write "Inga grupper.<BR>"
Else
' write the group listbox...
Response.Write "<SELECT NAME=""group"" class=""formular"" ONCHANGE=""groupselected(this);"" >"
Response.Write "<OPTION VALUE=0>Select group</OPTION>"
' write the entry code for the javascript...
sJavaScript = "function groupselected(elem){" & vbCrlf & _
"for (var i = document.f1.names." & _
"options.length; i >= 0; i--){" & vbCrlf & _
"document.f1.names.options[i] = null;" & _
vbCrlf
' loop through the recordset...
Do Until rsX.EOF
' is this a new bransch?
If sLastbransch <> rsX("gruppnamn") Then
' if so, add an entry to the first listbox
sLastbransch = rsX("gruppnamn")
Response.Write "<OPTION VALUE=" & rsX("gID") & ""
If RSx("gid") = groupid Then Response.Write " Selected" End If
Response.Write ">" & sLastbransch & "</OPTION>"
' and add a new section to the javascript...
sJavaScript = sJavaScript & "}" & vbCrlf & _
"if (elem.options[elem.selectedIndex].value=="
'If command <> "new" AND userid > 0 Then
'sJavaScript = sJavaScript & userid & "){" & vbCrlf
'Else
sJavaScript = sJavaScript & rsX("gID") & "){" & vbCrlf
'End If
sJavaScript = sJavaScript & _
"document.f1.names.options[document.f1.names.options.length] = new Option('Select name','0');" & _
vbCrlf
End If
' and add a new nameline to the javascript...
'sJavaScript = sJavaScript & _
sJavaScript = VBCRLF & sJavaScript & _
"document.f1.names.options[document." & _
"f1.names.options.length] = new Option('" & _
rsX("name") & "','" & rsX("uID") & "');" & _
vbCrlf
rsX.MoveNext
Loop
' finish the group listbox...
Response.Write "</SELECT>"
' create the kategori listbox...
Response.Write " <SELECT NAME=""names"" class=""formular"">"
Response.Write "<OPTION value=""0"">Select name</OPTION>"
Response.Write "</SELECT>"
' put the last line on the javascript and write it out...
sJavaScript = sJavaScript & vbCrlf & "}" & vbCrlf & "}" & vbCrlf
Response.Write "<SCR" & "IPT LANGUAGE=""JavaScript"">" & vbCrlf
Response.Write sJavaScript & vbCrlf & "</SCR" & "IPT>" & vbCrlf
End If
rsX.Close
Set rsX = Nothing

