Avatar billede microsoft Nybegynder
19. december 2001 - 02:09 Der er 5 kommentarer og
1 løsning

Script til Menu driller

Jeg har sidet og bakset med denne kode et stykke tid, men kan ikke få det til at virke.

Det er en \"tree\"-menu, som skal folde en underliggende undermenu ud når der klikkes på menupunkt.

Problemet er at den folder alle undermenu\'er ud når der klikkes på menupunkt, men den skal kun tage en adgangen.

Jeg har vedlagt kode til menuen, som også kan ses på følgende link:
http://www.digitalweb.dk/menu2.asp

Håber der er nogen af jer der kan hjælpe.



############## SCRIPT SOURCE #########################

<% @LANGUAGE=\"VBSCRIPT\" %>

<%
\' Variabler erklæres Explicit
Option Explicit
Response.Buffer = True
On Error Resume Next

\' Variabler erklæres (Explicit)
Dim oConn, strRequest

strRequest=Request.QueryString(\"Foldud\")

\' Connection til DSN
Set oConn = Server.CreateObject(\"ADODB.Connection\")
oConn.Open \"DSN=DigitalwebShop;UID=sa\"

Response.Write \"<HTML>\" & chr(13)
Response.Write \"<BODY>\" & chr(13)

    Response.Write ShowMenu(Null,0)

oConn.Close
Set oConn = Nothing

Response.Write \"</BODY>\" & chr(13)
Response.Write \"</HTML>\"

%>

<%
Function ShowMenu(ParentID,Level)
Dim oRS, strSQL, SubMenu, Menu, i

\'Recordsæt fra database oprettes
Set oRS = Server.CreateObject(\"ADODB.Recordset\")

If IsNull(ParentID) Then
strSQL=\"SELECT KategoriID, Kategorinavn, HarSubKategori FROM Kategorier2 WHERE SubkategoriAf=0\"
Else
strSQL=\"SELECT KategoriID, Kategorinavn, HarSubKategori FROM Kategorier2 WHERE SubkategoriAf=\" & ParentID & \"\"
End If
oRS.Open strSQL, oConn

WHILE NOT oRS.EOF
   
    SubMenu=ShowMenu(oRS(\"KategoriID\"),Level+1)

    For i = 1 To Level
    Menu = Menu & \"&nbsp;&nbsp;\"
    Next

    If oRS(\"HarSubKategori\")=False Then
    Menu = Menu & \"<a href=menu2.asp?Vis=\" & oRS(\"KategoriID\") & \">\" & oRS(\"Kategorinavn\") & \"</a><br>\" & chr(13)
    Else

    If strRequest<>\"\" Then
    Menu = Menu & \"<a href=menu2.asp?Foldud=\" & oRS(\"KategoriID\") & \">\" & oRS(\"Kategorinavn\") & \"</a><br>\" & chr(13) & SubMenu
    Else
    Menu = Menu & \"<a href=menu2.asp?Foldud=\" & oRS(\"KategoriID\") & \">\" & oRS(\"Kategorinavn\") & \"</a><br>\" & chr(13)
    End If

    End If

oRS.MOVENEXT
WEND

oRS.Close
Set oRS = Nothing

ShowMenu=Menu

End Function
%>
Avatar billede medions Nybegynder
19. december 2001 - 10:19 #1
Jeg forstår ikke rigtig hvad det er du vil...

kan du ikke du ikke prøve at specifiksere det lidt bedere ud?

Hvilke en af menuerne er det du ikke vil have frem?

//Rune
Avatar billede microsoft Nybegynder
19. december 2001 - 10:54 #2
Jeg ville have det til at virke som menu\'en i dette link:
http://www.microsoft.com/technet/archive/default.asp

Kun et menupunkt foldes ud adgang og den skal kunne fungere via min database.

Det jeg prøver, er at lave en \"uendelig\" tree-menu.

Min database har følgende rækker:

KategoriID Kategorinavn SubkategoriAf

, hvor SubkategoriAf henviser til overmenu\'ens KategoriID

Hovedkategorier har derfor en SubkategoriAf-værdi = 0.

Håber det gav lidt hjælp.
Avatar billede microsoft Nybegynder
19. december 2001 - 10:57 #3
Som du kan se i mit menu-link (http://www.digitalweb.dk/menu2.asp), folder alle undermenu\'er sig ud når man trykker på \"Hardware\".

Jeg ville gerne kunne stoppe min løkke, når undermenuen lige under det menupunkt jeg har trykket på, er foldet ud.
Avatar billede microsoft Nybegynder
19. december 2001 - 10:58 #4
Løkken udføres iøvrigt af denne funktion:
SubMenu=ShowMenu(oRS(\"KategoriID\"),Level+1)
Avatar billede microsoft Nybegynder
19. december 2001 - 11:02 #5
Hov, der er vist sneget sig et komma ind i ovenstående menu-link. - Her er det.
http://www.digitalweb.dk/menu2.asp
Avatar billede microsoft Nybegynder
19. december 2001 - 14:40 #6
Jeg har fundet denne Site fra Microsoft, som beskriver hvordan man laver Tree-Menu\'es og kobler en database til dem:
(Source Code og Step By Step er incl.)

http://www.microsoft.com/mind/defaulttop.asp?page=/mind/0799/htmltree/htmltree.htm&nav=/mind/0799/inthisissuecolumns0799.htm

Jeg benytter den kode istedet og lukker dette spørgsmål.
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