38 messaggi dal 02 aprile 2003
Ho questo semplice menu ad elenco in html :
<select name="categoria" id="categoria">
<option value="Attualita"<%=selected(categoria)%>>Attualita</option>
<option value="Business"<%=selected(categoria)%>>Business</option>
<option value="Cinema"<%=selected(categoria)%>>Cinema</option>
<option value="Finanza"<%=selected(categoria)%>>Finanza</option>
<option value="Gossip"<%=selected(categoria)%>>Gossip</option>
<option value="Motori"<%=selected(categoria)%>>Motori</option>
<option value="Musica"<%=selected(categoria)%>>Musica</option>
<option value="Racconti"<%=selected(categoria)%>>Racconti</option>
<option value="Salute"<%=selected(categoria)%>>Salute</option>
<option value="Scienza"<%=selected(categoria)%>>Scienza</option>
<option value="Sport"<%=selected(categoria)%>>Sport</option>
<option value="Storia"<%=selected(categoria)%>>Storia</option>
<option value="Tecnologia"<%=selected(categoria)%>>Tecnologia</option>
<option value="Viaggi"<%=selected(categoria)%>>Viaggi</option>
</select>
che richiama la seguente funzione per determinare quale categoria e' :
function selected(cat)
select case cat
case "Attualita"
selected = "selected"
case "Cinema"
selected = "selected"
case "Finanza"
selected = "selected"
case "Gossip"
selected = "selected"
case "Motori"
selected = "selected"
case "Musica"
selected = "selected"
case "Racconti"
selected = "selected"
case "Salute"
selected = "selected"
case "Scienza"
selected = "selected"
case "Sport"
selected = "selected"
case "Storia"
selected = "selected"
case "Tecnologia"
selected = "selected"
case "Viaggi"
selected = "selected"
end select
end function

Perche' non funziona non mi restituisce mail la categoria desiderata.....ma solo e sempre l'ultima cioe' VIAGGI....
AIUTO:::::
47 messaggi dal 23 maggio 2001
Posta un pò di codice in più.

La variabile categoria dove la prendi?

Hai provato ad aggiungere un case else che restituisca una stringa vuota?

case "Viaggi"
selected = "selected"
case else
selected=""
end select
end function
11.886 messaggi dal 09 febbraio 2002
Contributi
dovresti differenziare il codice a seconda se si tratta di una o di un'altra categoria.
Questa select:

select case cat
case "Attualita"
selected = "selected"
case "Cinema"
selected = "selected"
case "Finanza"
selected = "selected"
case "Gossip"
...

non serve a niente se, qualsiasi sia il valore di cat, la variabile selected vale "selected"

Enjoy learning and just keep making
47 messaggi dal 23 maggio 2001
Deve essere fatta così:

<select name="categoria" id="categoria">
<option value="Attualita"<%=selected("Attualita")%>>Attualita</option>

function selected(cat)
if cat = categoria then
selected = "selected"
else
selected = ""
end if

scusa ma non avevo visto bene come era fatto
38 messaggi dal 02 aprile 2003
revellogianluigi ha scritto:
Deve essere fatta così:

<select name="categoria" id="categoria">
<option value="Attualita"<%=selected("Attualita")%>>Attualita</option>

function selected(cat)
if cat = categoria then
selected = "selected"
else
selected = ""
end if

scusa ma non avevo visto bene come era fatto


Scusa ma non e' cosi' per niente....come hai fatto te da sempre viaggi!!!!
Perche' Viaggi e' l'ultima chiamata a funzione!!!!!!
3.122 messaggi dal 16 maggio 2002
Non devi scrivere "selected" ovunque, ma solo nelle option tali per cui il nome della categoria di quella specifica option è lo stesso presente nella variabile "categoria".
Quindi

<option value="Attualita"<% if categoria = "Attualita" then Response.Write " selected" %>>Attualita</option>
<option value="Business"<% if categoria = "Business" then Response.Write " selected" %>>Business</option>
...

The day Microsoft makes something that doesn't suck
is probably the day they start making vacuum cleaners.

Get caught!
Get caught again!
38 messaggi dal 02 aprile 2003
Si grazie questo lo sapevo.....volevo usare la funzione in questione!....comunque grazie lo stesso!!!
3.122 messaggi dal 16 maggio 2002
Scusa se te lo faccio notare, ma come pensavi di ottenere il risultato sperato se in tutte le option hai messo lo stesso valore per selected?!
La chiamata alla funzione selected da te definita è sempre la stessa, cioè "selected(categoria)" (che perciò restituisce sempre lo stesso risultato)!
Se proprio vuoi usare una funzione allora modificala così:

function selected(cat1, cat2)
if cat1 = cat2 then
selected = " selected"
else
selected = ""
end if
end function

Poi la richiami in questo modo

<option value="Attualita"<%=selected("Attualita", categoria)%>>Attualita</option>
<option value="Business"<%=selected("Business", categoria)%>>>Business</option>
...

Oppure, in modo ancora più compatto

cat = Array("Attualita", "Business", ...)
for i = LBound(cat) to UBound(cat)
Response.Write "<option value=""" & cat(i) & """" & selected(cat(i), categoria) & ">" & cat(i) & "</option>" & vbCrLf
next

The day Microsoft makes something that doesn't suck
is probably the day they start making vacuum cleaners.

Get caught!
Get caught again!

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.