Newsgroup: it.comp.lang.javascript
Titolo: select filtrate

_Ciao a tutti.
ho una combo select option con tutti gli stati, se seleziono l'Italia
un'altra combo (in basso)
mi fa vedere le province italiane se seleziono Usa devo visualizzare (dentro
la stessa combo) solo i paesi americani.
Per fare questo mi dovrei caricare tutte le province e gi stati americani
dentro una stessa combo e poi a secondo della selezione far vedere una
selezione filtrata giusto?
con che comandi posso fare cio? leggevo con gli inner puo essere ??
consigliatemi voi...

 con che comandi posso fare cio? leggevo con gli inner puo essere ??
Beh, volendo, ma la strada migliore e' quella di ripopolare una select
creando nuovi elementi options. Credo che su jsdir usino un approccio del
genere.
-- 
C'ya,
  ZER0 :: coder.gfxer.webDesigner();
"When you have eliminated the impossible, whatever remains,
however improbable, must be the truth." (S.H.)

e se volessi popolare una combo da un file include che contiene tutti gli
stati
e possibile farlo?



Alt. Se parliamo solo di javascript, fai un semplice:
<script type="text/javascript" src="stati.js"></script>
che si "smazza" il lavoro di tenere tutta una serie di "array" con le
informazioni che ti servono.
Se parli invece di include lato server (e quindi puoi usare tecnologie
server side) il discorso puo' variare, sul "dove" salvare le informazioni.
In ogni caso, per popolare dinamicamente una select, il metodo e' lo stesso
a prescindere da dove peschi i dati.


 <script type="text/javascript" src="stati.js"></script>
Ho risolto in parte il problema con questo codice ma il valore della
provincia ho notato non viene realmente creato!!!
cioe la combo O_Provincia_AZ resta cosi come parte;
cioe con un sol campo option mentre il codice ne fa vedere 5.....io mi devo
leggere il valore della provincia come posso fare???
<html>
<head>
<script>
var prov=new Array();
var sigle=new Array()
function Riempi()
   {
if
((document.FormReg.O_Nazioni.value=='US')||(document.FormReg.O_Nazioni.value
=='IT')) {
   if (document.FormReg.O_Nazioni.value=='IT'){
      document.FormReg.O_Provincia_AZ.disabled= false;
       prov=new Array("Lecce","Foggia","Brindisi","Taranto","Bari");
       sigle=new Array("LE","FG","BR","TA","BA");
    with (document.FormReg.O_Provincia_AZ){
      for (i=0;i<prov.length;i++){
        options[i]=new Option(prov[i])
        options[i].value=new Option(sigle[i])
     options.selectedIndex=0;
   }
    }
 }
   if (document.FormReg.O_Nazioni.value=='US'){
      document.FormReg.O_Provincia_AZ.disabled= false;
       prov=new Array("1","2","3","4","5");
       sigle=new Array("1","2","3","4","5");
    with (document.FormReg.O_Provincia_AZ){
      for (i=0;i<prov.length;i++){
        options[i]=new Option(prov[i],sigle[i])
        options[i].value=new Option(sigle[i])
     options.selectedIndex=0;
   }
    }
 }
}else{
    document.FormReg.O_Provincia_AZ.disabled= true;
}
}
</script>
<body>
<%
provincia = request.form("O_Provincia_AZ")
response.write provincia
%>
<form action="provafiltro.asp" method="post" id="FormReg" name="FormReg">
    &nbsp;
    <p><select id="O_Nazioni" name="O_Nazioni"  size="1"
onChange="Riempi()">
   <option value="">seleziona</option>
                <option value="IT">Italia</option>
                <option value="US">Usa</option>
                <option value="S">Spagna</option>
 </select>
    <br>
    </p>
    <p>
 <select disabled id="O_Provincia_AZ" name="O_Provincia_AZ"  size="1">
    <option value="">seleziona</option>
 </select>
</p>
    <p>
 <input type="submit" value="Submit" name="B1"></p>
</form>
</body>
</html>

         options[i].value=new Option(sigle[i])
