Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Select box dinamico su 1 opzione

    Salve a tutti,

    ho 2 select box (Stati e Provincie) che dovrebbero essere concatenate in questo modo:
    1. quando lo stato selezionato è Italia appaiono nell'altro select box tutte le provincie italiane
    2. quando è selezionato qualsiasi altro stato nel secondo select box appare solo la voce "estero"

    Realizzare il primo caso non è un grosso problema, quello che non riesco a fare in modo dinamico è il caso 2 o perlomeno ci riesco in modo manuale cioè settando per tutte le voci group[x][0]=new Option("Estero"). C'è un modo per dire "se è diverso da Italia allora associa il valore estero" ?

    Qualcuno ha idea di come fare?
    Posto il codice preparare finora:
    codice:
    <select name="example" size="1" onChange="redirect(this.options.selectedIndex)">
        <option value="" > [Selezionare]</option>
      <option value="italia" onChange="redirect(this.options.selectedIndex)"> Italia</option>
              
            
    		 
              <option value="Albania">Albania</option>
              
              <option value="Andorra">Andorra</option>
              
              <option value="Argentina">Argentina</option>
                     
    ...
    
    </select>
    
    
    
     <select name="stage2" size="1">
    <option value="null">Selezionare</option>
    </select> </p>
    
    
    
    <input type="submit" name="invia" onClick="go()" value="invia"/><font color="#e14800">
    <script type="text/javascript" language="JavaScript">
    <!--
    
    var groups=document.doublecombo.example.options.length
    var group=new Array(groups)
    for (i=0; i<groups; i++)
    group[i]=new Array()
    
    group[0][0]=new Option("Selezionare")
    
    group[1][0]=new Option("Agrigento")
    group[1][1]=new Option("Alessandria")
    group[1][2]=new Option("Ancona")
    group[1][3]=new Option("Aosta")
    group[1][4]=new Option("Arezzo")
    group[1][5]=new Option("Ascoli")
    group[1][6]=new Option("Asti")
    group[1][7]=new Option("Avellino")
    ...
    ...
    ...
    
    group[2][0]=new Option("Estero")
    
    group[3][0]=new Option("Estero")
    
    group[4][0]=new Option("Estero")
    
    group[5][0]=new Option("Estero")
    
    ...
    ...
    ...
    
    var temp=document.doublecombo.stage2
    
    function redirect(x){
    for (m=temp.options.length-1;m>0;m--)
    temp.options[m]=null
    for (i=0;i<group[x].length;i++){
    temp.options[i]=new Option(group[x][i].text,group[x][i].value)
    }
    temp.options[0].selected=true
    }
    
    function go(){
    location=temp.options[temp.selectedIndex].value
    }
    
    //-->
    </script>
    Grazie

  2. #2
    Ops ho un problema + serio! VVoVe:

    Il form non mi passa il valore del secondo select box (provincia).
    Sapete dirmi come mai?


    Posto il nuovo codice:

    codice:
    <form action="registrazione_azienda.asp" method="post" name="form1">
    
    <select name="paesi" size="1" onChange="redirect(this.options.selectedIndex)">
        <option value="" > [Selezionare]</option>
      <option value="italia" onChange="redirect(this.options.selectedIndex)"> Italia</option>
    		 
              <option value="Albania">Albania</option>
              
              <option value="Andorra">Andorra</option>
              
              <option value="Argentina">Argentina</option>
    
    </select></td>
                                <td colspan="2"><select name="provincia">
                                    <option value="0" selected="selected">[Selezionare]</option>
                                    </select>
    							
     <input type="image" src="../images/button_prosegui.gif" onclick="go()"/>
    
    							
    <script type="text/javascript" language="JavaScript">
    <!--
    
    var groups=document.form1.paesi.options.length
    var group=new Array(groups)
    for (i=0; i<groups; i++)
    group[i]=new Array()
    
    group[0][0]=new Option("Selezionare")
    
    group[1][0]=new Option("Selezionare")
    group[1][1]=new Option("Alessandria")
    group[1][2]=new Option("Ancona")
    group[1][3]=new Option("Aosta")
    ...
    
    
    group[2][0]=new Option("estero")
    group[3][0]=new Option("estero")
    group[4][0]=new Option("estero")
    group[5][0]=new Option("estero")
    ...
    
    var temp=document.form1.provincia
    
    function redirect(x){
    for (m=temp.options.length-1;m>0;m--)
    temp.options[m]=null
    for (i=0;i<group[x].length;i++){
    temp.options[i]=new Option(group[x][i].text,group[x][i].value)
    }
    temp.options[0].selected=true
    }
    
    function go(){
    location=temp.options[temp.selectedIndex].value
    }
    
    //-->
    </script>
    
    </form>

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.