Avatar billede montago Praktikant
13. september 2003 - 13:18 Der er 6 kommentarer og
1 løsning

kan dette gøres nemmere ?

bare til en anden gang...

<select name="select">
                    <option value="1"
                    <%
                    if (Recordset3.Fields.Item("PicCat").Value) = 1 then
                            response.write "selected"
                    else     response.write ""
                    end if
                    %>
                    >1 - Flowers</option>
                    <option value="2"
                    <%
                    if (Recordset3.Fields.Item("PicCat").Value) = 2 then
                            response.write "selected"
                    else     response.write ""
                    end if
                    %>
                    >2 - Landscapes</option>
                    <option value="3"
                    <%
                    if (Recordset3.Fields.Item("PicCat").Value) = 3 then
                            response.write "selected"
                    else     response.write ""
                    end if
                    %>
                    >3 - Desktops</option>
                    <option value="4"
                    <%
                    if (Recordset3.Fields.Item("PicCat").Value) = 5 then
                            response.write "selected"
                    else     response.write ""
                    end if
                    %>
                    >4 - Experiments</option>
                    <option value="5"
                    <%
                    if (Recordset3.Fields.Item("PicCat").Value) = 5 then
                            response.write "selected"
                    else     response.write ""
                    end if
                    %>
                    >5 - Nature</option>
                    <option value="6"
                    <%
                    if (Recordset3.Fields.Item("PicCat").Value) = 6 then
                            response.write "selected"
                    else     response.write ""
                    end if
                    %>
                    >6 - Adventure</option>
                    <option value="7"
                    <%
                    if (Recordset3.Fields.Item("PicCat").Value) = 7 then
                            response.write "selected"
                    else     response.write ""
                    end if
                    %>
                    >7 - Digital Alterations</option>
                    <option value="8"
                    <%
                    if (Recordset3.Fields.Item("PicCat").Value) = 8 then
                            response.write "selected"
                    else     response.write ""
                    end if
                    %>
                    >8 - People</option>
                  </select>
Avatar billede medions Nybegynder
13. september 2003 - 13:38 #1
Måske med Select Case!

//>Rune
Avatar billede nielle Nybegynder
13. september 2003 - 16:14 #2
<%
sub SelectOptionSelected(TheText, TheValue, SelectedValue) %>
<option value="<% =TheValue %>"<% if TheValue=SelectedValue then Response.Write(" selected") %>><% =TheText %></option>
<%
end sub %>

<select name="select">
<%
CurrentValue = Recordset3.Fields.Item("PicCat").Value
call Select_ValueSelected("1 - Flowers", "1", CurrentValue)
call Select_ValueSelected("2 - Landscapes", "2", CurrentValue)
call Select_ValueSelected("3 - Desktops", "3", CurrentValue)
call Select_ValueSelected("4 - Experiments", "4", CurrentValue)
call Select_ValueSelected("5 - Nature", "5", CurrentValue)
call Select_ValueSelected("6 - Adventure", "6", CurrentValue)
call Select_ValueSelected("7 - Digital Alterations", "7", CurrentValue)
call Select_ValueSelected("8 - People", "8", CurrentValue) %>
</select>
Avatar billede nielle Nybegynder
13. september 2003 - 16:15 #3
I øvrigt forstår jeg ikke hvorfor at du overhovedet har else-delen med i dine:

if (Recordset3.Fields.Item("PicCat").Value) = 7 then
  response.write "selected"
else
  response.write ""
end if
Avatar billede thesurfer Nybegynder
14. september 2003 - 03:08 #4
Jeg har lavet et eksempel hvor jeg har brugt array og for-next loop.. håber du kan bruge det.. jeg har kommenteret det meste, men spørg endeligt hvis du har spørgsmål..

Jeg har også oploadet eksempel så I kan se det "in action":

http://frip.dk/thesurfer/e/q/400601/

---


<%
' tving programmøren til at definere variablerne for at undgå stavfejl:
Option Explicit

' her erklærer vi variabler (sat op i grupper):
dim TheText, TheValue, SelectedValue, CurrentValue ' værdier
dim i, Items, arrItems ' i og array
dim statSelected ' statusSelected, tester værdien for at se om de er selected eller ej

' her får variablerne deres værdier:
Items = "Flowers,Landscapes,Desktops,Experiments,Nature,Adventure,Digital Alterations,People"

' CurrentValue får samme værdi som Recordset3.Fields.Item("PicCat").Value
if request.querystring("id") <> "" then CurrentValue = cint(request.querystring("id"))

' Select starter her:
response.write "<select name=" & chr(34) & "select" & chr(34) & ">" & vbCrLf

' her splitter vi vores array op, med "," som delimiter/skillevæg:
arrItems = Split(Items, ",")

' her starter vores loop, fra minimum (LBound(arrItems)) til  maximum (UBound(arrItems))
' så behøver vi ikke at hardcode tallene 0 og 7 (8 tal i alt):

for i = LBound(arrItems) to UBound(arrItems)

    ' udføre funktionen SelectOptionSelected med 3 parametere:
    ' 1: nummer og navn fra vores array delt af " - "
    ' 2: værdien af option
    ' 3: værdien af Recordset3.Fields.Item("PicCat") (den valgte værdi)

    call SelectOptionSelected(i + 1 & " - " & arrItems(i), i + 1, CurrentValue)
next

' Select slutter her
response.write "</select>" & vbCrLf


' her har vi funktionen, der arbejder med de sendte parametere:
Sub SelectOptionSelected(TheText, TheValue, SelectedValue)

' her sammenligner vi nuværende værdi (TheValue) med den valgte værdi (SelectedValue)
if TheValue = SelectedValue then
    statSelected = " selected"
else
    statSelected = ""
end if

' vores output til html kode:
response.write "<option value=" & chr(34) & TheValue & chr(34) & statSelected & ">" & TheText & "</option>" & vbCrLf

' afslut funktion:
end sub
%>

---
Avatar billede thesurfer Nybegynder
14. september 2003 - 03:11 #5
oops.. en lille fejl hvor jeg har brugt querystring, da jeg ikke har databasen..

der hvor der står:
' CurrentValue får samme værdi som Recordset3.Fields.Item("PicCat").Value
if request.querystring("id") <> "" then CurrentValue = cint(request.querystring("id"))

skal der stå:
' CurrentValue får samme værdi som Recordset3.Fields.Item("PicCat").Value
CurrentValue = Recordset3.Fields.Item("PicCat").Value
Avatar billede montago Praktikant
14. september 2003 - 16:25 #6
Det eneste der sker i den kode jeg har præcenteret er at "menuen" skal have en pre-selected værdi... dvs. man ikke skal "select'e" noget via menuen...

jeg bruger menuen til at flytte billeder fra kategori til kategori...

det hele bruges på min Admin side for hjemmesiden : www.mdk-photo.da.ru
og er derfor ikke tilgængeligt for andre end mig...

det smarte er at jeg trykker på et billede i Admin-mode, hvorefter en menu definere hvor billedet eventuelt skal flyttes til - en "Update" 'form'ular...

Til The Surfer: et meget flot svar ! men desværre ikke hvad jeg skal bruge...
Til Nielle: jeg har ikke testet dit svar endnu...
Avatar billede thesurfer Nybegynder
18. december 2003 - 03:41 #7
Dette spørgsmål mangler input.
Det kan f.eks. være at spørgeren mangler at acceptere/afvise svar/komme med feedback, eller af en svarer mangler at lægge et svar/komme med feedback.
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

Seneste spørgsmål Seneste aktivitet
I går 21:00 Libre Office Impress Af Frank i Andre styresystemer
I går 11:47 VB script Af Jenshentze i Word
I går 11:21 Popup ved opstart Af mort1 i Windows
04/0918:50 Slet lokal konto Af ErikHg i Windows
04/0916:05 Ændre tal i en celle Af xvid i Excel