16. december 2003 - 12:37Der er
21 kommentarer og 1 løsning
Select box som lister ut underkategorier via threds
Hei!
Jeg sitter å lager et admin interface til en menu. Nå brukeren skal endre menu oppbyggningen så skal man kunne velge fra en select boks feks hvor man skal legge menupunktet under.
Det jeg vil er at man skal se hva som hør under hva i select bokse.
Feks: Biler -Ford --Escort --Mondeo -Opel
Osv.
Koden ser slik ut! Er det noen som har noen andre gode ideer eller kan hjelpe meg med scriptet?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"> <body> <% dim strConn strConn = "Provider=SQLOLEDB;Initial Catalog=xxxxxx; Server=xxx.xxx.xxx.xxx;User ID=;Password="
dim adoCn dim strSQL set adoCn = Server.CreateObject("ADODB.Connection") adoCn.Open strConn
Set rsEntries = adoCn.Execute("SELECT * FROM TOC ORDER BY seq desc, label asc") 'Set rsEntries = adoCn.Execute("SELECT * FROM TOC") 'Set rsEntries = adoCn.Execute("selectTBLDOCUMENTSroot") 'Stored procedures
If rsEntries.EOF Then Response.Write "<font size=1 face=verdana><ul>Ingen poster!<br></ul></font>" Response.Write"<font size=1 face=verdana><ul><a href=add.asp?Action=main>Legg til på rotnivå</a></ul></font>" Response.End End if
Function Threads(intID) For m = 1 to Ubound(arrID) If Cint(arrRE(m)) = Cint(intID) Then Threads = Threads & "<font size=1 face=verdana><ul><b>" & arrSU(m) & "</b> <a href=add.asp?Action=sub&Sub=" & arrSub(m) & "&ID=" & arrID(m) & ">(Legg til undermeny)</a> <a href=add.asp?Action=change&Sub=" & arrSub(m) & "&ID=" & arrID(m) & "&Name=" & arrSU(m) & "&Seq="& arrSEQ(m) & ">(Endre)</a> <a href=add.asp?Action=delete&ID=" & arrID(m) & ">(Slett)</a>" & Threads(arrID(m)) & "</ul></font>" End If Next End Function
Function Options(intID) For m = 1 to Ubound(arrID) If Cint(arrRE(m)) = Cint(intID) Then Options = Options & "<option value=" & arrID(m) & ">" & arrSU(m) & "</option>" & Options(arrID(m)) End If Next End Function
Response.Write"<font size=1 face=verdana><ul><a href=add.asp?Action=main>Legg til på toppnivå</a></ul></font>"
'Skriver ut menyen korrekt Response.Write Threads(0)
Tabellen har følgende kolonner: -ID(int) -Label(varchar, Meny navn) -Sub(bit,1 er sub og 0 er på rot) -Parent(int, hvilken id menyen ligger under) -Link(Sier seg selv) -Seq(Hvilken prioritet meny punktet har)
Som jeg forstår spørgsmålet leder du efter noget kode som dette:
<% Function Threads(intID) dim m dim v dim i For m = 1 to Ubound(arrID) If Cint(arrRE(m)) = Cint(intID) Then str = "<option value=""" & arrID(m) & """>" & arrSU(m) & "</option>" for i = 1 to Ubound(arrRE) v = false if arrID(m) = arrRE(i) then str = "<optgroup label=""" & arrSU(m) &""">" v = true exit for end if next Threads = Threads & str & Threads(arrID(m)) if v=true then Threads = Threads & "</optgroup>" end if End If Next End Function %>
Og så det som laver dropdown på formen: <form> <select name="navn"> <%=Threads(0)%> </select> </form>
Function Threads(intID,level) dim m dim v dim i dim str For m = 1 to Ubound(arrID) If Cint(arrRE(m)) = Cint(intID) Then str="" for l=0 to level str = str & " " next Threads = Threads & str & arrSU(m) & "<br>" & Threads(arrID(m),level+1) End If Next End Function
Det virker helt fint bortsett fra en liten pirkete ting. Den begynner å legge til " "
Function Threads(intID,level) dim m dim v dim i dim str For m = 1 to Ubound(arrID) If Cint(arrRE(m)) = Cint(intID) Then str="" for l=0 to level str = str & " " next Threads = Threads & str & "<b>" & arrSU(m) & "</b> [ <a href=admin_doc_add_2.asp?Action=sub&Sub=" & arrSub(m) & "&ID=" & arrID(m) & ">Legg til undermeny</a> ]" & "<br>" & Threads(arrID(m),level+1) End If Next End Function
//Eagleeye fant ut av det. Endret for l to 1 isteden for l to 0.
Function Threads(intID,level) dim m dim v dim i dim str For m = 1 to Ubound(arrID) If Cint(arrRE(m)) = Cint(intID) Then str="" for l=1 to level str = str & " " next Threads = Threads & str & "<b>" & arrSU(m) & "</b> [ <a href=admin_doc_add_2.asp?Action=sub&Sub=" & arrSub(m) & "&ID=" & arrID(m) & ">Legg til undermeny</a> ]" & "<br>" & Threads(arrID(m),level+1) End If Next End Function
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.