Newsgroup: it.comp.www.asp
Titolo: <option selected> dinamica

Ciao ragazzi,
dunque nell'esempio sottostante c'è un codice per un <SELECT> semi statica e
una  con valori e etichette dinamici.
Quello statica funziona, quello dinamica no.
Praticamente vorrei che ad una scelta di un valore della <SELECT>, la quale
rimanda alla stessa pagina con un GET, si posizioni come <option selected>
il valore richiesto nella selezione appena fatta e non quello di default.
-----------------------------
Es.: DEFAULT Cuore
      - Reni
      - Fegato
      - Polmoni
Seleziono Fegato ed invio...la pagina viene ricaricata con Cuore di default
anche se il recordset chiamato e chiaramente visualizzato.
-----------------------------------------------------------------
IL CODICE--- Fate copia ed incolla in una pagina che fate prima
----------------------------------------------------------------
<%@LANGUAGE="VBSCRIPT"%>
<!--#include file="Connections/connLineafitDNS.asp" -->
<%
set rsCategoria = Server.CreateObject("ADODB.Recordset")
rsCategoria.ActiveConnection = MM_connLineafitDNS_STRING
rsCategoria.Source = "SELECT * FROM categoria ORDER BY NomeCategoria ASC"
rsCategoria.CursorType = 0
rsCategoria.CursorLocation = 2
rsCategoria.LockType = 3
rsCategoria.Open()
rsCategoria_numRows = 0
%>
<%
Function fmtSelectItem(sItem,myItem)
 Dim strOutput
 strOutput = "<option "
 if myItem = sItem then
  strOutput = strOutput & "selected "
 end if
 strOutput = strOutput & "value=""" & sItem & """>"
 strOutput = strOutput & sItem
 strOutput = strOutput & "</option>" & vbCrLf
 Response.Write strOutput
End Function
%>
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<form action="TEST_select.asp?ID=<%=siteID%>"
 method="get" id="filtrautenti" name="filtrautenti">
  <select NAME="mylist">
    <%
 dim mylist
 mylist = Request.querystring("mylist")
 if mylist = "" then
  ' set default
  mylist = "Seleziona una categoria"
 end if
 call fmtSelectItem("Seleziona una categoria",mylist)
 call fmtSelectItem("Tutte le categorie",mylist)
 call fmtSelectItem("Body Building",mylist)
 call fmtSelectItem("Aerobica",mylist)
 call fmtSelectItem("Benessere",mylist)
 call fmtSelectItem("Salute",mylist)
%>
  </select>
  Statico e funziona. Se selezioni una voce e schiacchi SELECT, vedrai la
voce
  che hai selezionato.<br>
  <br>
  <select name="select">
    <%
While (NOT rsCategoria.EOF)
%>
    <option
value="<%=(rsCategoria.Fields.Item("IDcategoria").Value)%>"><%=(rsCategoria.
Fields.Item("NomeCategoria").Value)%></option>
    <%
  rsCategoria.MoveNext()
Wend
If (rsCategoria.CursorType > 0) Then
  rsCategoria.MoveFirst
Else
  rsCategoria.Requery
End If
%>
  </select>
  Dinamico non mi viene. Scegli una voce, poi select e ti rid&agrave; sempre
la
  prima. <br>
  <br>
  La soluzione &egrave; nel codice...MA NON RIESCO A TROVARLA!!!!
  <input type="Submit" name="Submit" value="Select">
</form>
</body>
</html>
<%
rsCategoria.Close()
%>
--------------------------------------
Ciao a Tutti Alen

   </select>
Cosi dovrebbe funzionare
Ciao Sha

OK grazie ho risolto in parte....
....ora l'unica cosa che non riesco a passare č il valore...il
numeroidentificativo...
(rsCategoria.Fields.Item("IDCategoria").Value)
Praticamente mi passa niente.
Ho capito che devo smanettare nella prima parte del codice dove viene
descritta la funzione strOutput = strOutput & "value=""" & sItem & """>" Ma
in tutte le maniere che ho provato mi da errore....riuscivo a far passare il
nome stesso che mi rimaneva selezionato, ma il numero NADA....
___________________________________________________________________________

action="TEST_select_NG.asp" method="get" id="filtrautenti"
name="filtrautenti">
<select NAME="mylist">
<%
dim mylist
mylist = Request.querystring("mylist")
if mylist = "" then
' set default
mylist = "Seleziona una categoria"
end if
call fmtSelectItem("Seleziona una categoria",mylist)
%>
<%
While (NOT rsCategoria.EOF)
valSelect =(rsCategoria.Fields.Item("NomeCategoria").Value)
call fmtSelectItem(valSelect,mylist)
%>
<%
rsCategoria.MoveNext()
Wend
If (rsCategoria.CursorType > 0) Then
rsCategoria.MoveFirst
Else
rsCategoria.Requery
End If
%>
</select>
