Avatar billede c-lund Nybegynder
14. juni 2007 - 15:05 Der er 6 kommentarer og
1 løsning

Select box problem

Hej

Jeg sidder og roder lidt med at få lavet min menustruktur i en <select> box: menupunkterne kommer fra en db og vil være i stil med
Punkt1
Punkt2
  punkt1
    punkt1
  punkt2
Punkt3
-----
Jeg bruger dette kode til at hente fra db'en

<%
    Function BygUnderMenuF(MenuID)
        UnderSQL = "SELECT * FROM Live_Menu_" & SubLetter & " WHERE Ref_Id = " & MenuID & " ORDER BY Nummer"
        Set UnderRS = conn.execute(UnderSQL)
        While Not UnderRS.EOF
            If CountSubsF(UnderRS("ID")) > 0 Then
                Response.write("<option value=""" & UnderRS("Id") & """>")
                    Response.write("" & UnderRS("Navn") & " ")
                Response.write("</Option>")
                BygUnderMenuF UnderRS("ID")
            Else
                Response.write("<option value=""" & UnderRS("Id") & """>")
                    Response.write("" & Mellemrum & "" & UnderRS("Navn") & " ")
                Response.write("</Option>")
            End If
            UnderRS.MoveNext
        Wend
    End Function

    Function CountSubsF(MenuID)
        CountSQL = "SELECT Count(*) as CountSubs FROM Live_Menu_" & SubLetter & " WHERE Ref_Id = " & MenuID & ""
        Set CountRS = conn.execute(CountSQL)
        CountSubsF = CountRS("CountSubs")
    End Function
   
    SQL = "SELECT * FROM Live_Menu_" & SubLetter & " WHERE Ref_Id = '0' ORDER BY Nummer"
    Set RS = conn.execute(SQL)
    If RS.BOF AND RS.EOF Then
    else
        RS.MoveFirst
        While Not RS.EOF
            If CountSubsF(RS("Id")) > 0 Then
                Response.write("<option value=""" & rs("Id") & """>")
                    Response.write("" & rs("Navn") & " ")
                Response.write("</Option>")
                BygUnderMenuF RS("Id")
            Else
                Response.write("<option value=""" & rs("Id") & """>")
                    Response.write("" & rs("Navn") & " ")
                Response.write("</Option>")
            End If

            RS.MoveNext
        Wend
    End If
%>
Avatar billede The Real Yoda Juniormester
14. juni 2007 - 15:46 #1
ok .. og spørgsmålet er ?...
Avatar billede c-lund Nybegynder
14. juni 2007 - 19:16 #2
hov sorry.
Hvordan for man lavet den struktur
Punkt1
Punkt2
  punkt1
    punkt1
  punkt2
Punkt3
i <select> boxen
jeg kan kun få den til at se sådan ud
Punkt1
Punkt2
punkt1
punkt1
punkt2
Punkt3
Avatar billede keysersoze Ekspert
14. juni 2007 - 20:59 #3
indsætter mellemrum - fx;

Response.write("<option value=""" & rs("Id") & """>")
  Response.write("&nbsp;&nbsp;" & rs("Navn") & " ")
Response.write("</Option>")
Avatar billede c-lund Nybegynder
18. juni 2007 - 14:31 #4
Nej det vil ikke virke, hvis der nu er undermenupunkt til det forrige, vil den stadig kun gå 2 mellerum ud.
Men jeg har droppet det, men i skal have tak for hjælpen :)
Avatar billede olebole Juniormester
18. juni 2007 - 14:39 #5
<ole>

Den slags kan man desværre ikke med et select-element, men kender du i øvrigt optgroups?
    http://www.w3.org/TR/html401/interact/forms.html#edef-OPTGROUP

<select>
    <option>Bla bla</option>
    <option>Bla bla</option>
    <option>Bla bla</option>
    <optgroup label="noget">
        <option>Bla bla</option>
        <option>Bla bla</option>
        <option>Bla bla</option>
    </optgroup>
    <option>Bla bla</option>
    <option>Bla bla</option>
    <option>Bla bla</option>
</select>

Måske ikke anvendeligt i denne situation, men udmærket at gruppere option-elementer med. De kan naturligvis også styles via CSS  ;o)

/mvh
</bole>
Avatar billede keysersoze Ekspert
18. juni 2007 - 19:28 #6
ja, altså tanken var jo så selvfølgelig at der skulle give x-antal indryk alt afhængig af niveau som må kunne bestemmes :)
Avatar billede c-lund Nybegynder
19. juni 2007 - 10:18 #7
Hej Ole, kender godt til optgroups, men de kan desværre ikke bruges i dette tilfælde.
I skal have tak for at have prøvet :)
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