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

    problemino con combo select

    codice:
    <script type="text/javascript">
    function dennis(selezionata){
    	ar_uno=new Array();
    	ar_due=new Array();
    	ar_tre=new Array();
    	ar_uno[0]=new Option('carta','1');
    	ar_uno[1]=new Option('contrassegno','2');
    	ar_uno[2]=new Option('bollettino','3');
    
    	ar_due[0]=new Option('carta','1');
    	ar_due[1]=new Option('bonifico','4');
    
    
    	ar_tre[0]=new Option('carta','1');
    	ar_tre[1]=new Option('bonifico','4');
    
    
    	if(selezionata=="1")array_rif=ar_uno;
    	if(selezionata=="2")array_rif=ar_due;
    	if(selezionata=="3")array_rif=ar_tre;
    	for(i=0;i<array_rif.length;i++)document.form1.seconda.options[i]=array_rif[i];
    }
    </script>
    <select name="prima" onChange="dennis(this[this.selectedIndex].value)">
    <option value="1">Italia</option>
    <option value="2">Europa</option>
    <option value="3">extra</option>
    </select>
    <select name="seconda">
    <option value=""></option>
    
    </select>
    quando seleziono dalla prima combo "europa" o "extra", dovrebbe visualizzarmi nella seconda combo solo 2 opzioni, cioè "carta" e "bonifico" invece mi aggiunge sempre una terza opzione che non voglio cioè "bollettino".
    come posso risolvere?
    grazie

  2. #2
    .. forse perchè stai solo sostituendo l'elemento 0 e l'elemento 1 della combo e lasci com'è l'elemento 2 (che già era stato riempito)?
    .. forse ..
    HTH
    Zappa
    [PC:Presario 2515EU][Cpu:P4@2.3GHz][Ram: 512M][HDU:80G@5400 RPM]
    [Wireless:LinkSys][OS: Ubuntu 9.04 - Jaunty Jackalope]

  3. #3
    non ho capito...

    per "ar_uno" devo avere 3 opzioni e quelle me le visualizza correttamente.
    per "ar_due" e "ar_tre" invece ho bisogno solo di quelle 2 opzioni che dicevo prima...
    :master:

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    svuota prima la seconda select ciclando a ritroso per il numero di option presenti al momento,
    dopo riempi
    oppure, in un colpo solo, elimina option finche' il numero delle stesse non e' uguale alla lunghezza del nuovo array
    ciao

  5. #5
    Quando scrivi:
    Codice PHP:
    for(i=0;i<array_rif.length;i++)document.form1.seconda.options[i]=array_rif[i]; 
    la prima volta, document.form1.seconda.options[] ha 3 elementi, tutti riempiti con i valori giusti ..
    ma ...
    quando il codice di cui sopra gira la seconda volta (e questa volta per i che va da 0 a 1), tu riempi solo i primi 2 valori, mentre il trzo rimane quello che era prima!
    In parole povere, devi riuscire a decrementare il numero di options, per le altre volte, altrimenti il comportamento è quello che hai detto.
    HTH
    Zappa
    [PC:Presario 2515EU][Cpu:P4@2.3GHz][Ram: 512M][HDU:80G@5400 RPM]
    [Wireless:LinkSys][OS: Ubuntu 9.04 - Jaunty Jackalope]

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.