Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di noos
    Registrato dal
    Jul 2003
    Messaggi
    995

    jquery select concatenate

    Ciao ragazzi ho creato due select concatenate provincia, comune.
    In base al valore scelto della provincia vado a popolare il campo comune con i rispettivi valori.

    I dati (provincia e comune) vado a prenderli in un file json.

    Il codice funziona tranne il caso in cui seleziono l'ultima provincia, automaticamente ho il comune valorizzato con il primo valore. Come posso evitare questo?

    oltre a jquery uso altre librerie.

    Codice PHP:
                        
                        
    $.getJSON('./json/tipologiche.json', function(json) {        
                            for (var 
    i=0i<json.TIPOLOGICHE.T_PROVINCE.PROV.lengthi++){
                                
                                
    //controllare se devo svuotare il campo prov
                                
    control.childrenByPropertyId["provincia"].setValue();
                                
                                $(
    '#al9').append('<option value="' json.TIPOLOGICHE.T_PROVINCE.PROV[i].desc '">' json.TIPOLOGICHE.T_PROVINCE.PROV[i].desc '</option>');
                                
                            }                                                
                        });
                                            
                        
    //comune
                        
    $.getJSON('./json/tipologiche.json', function(json) {                        
                            
    control.childrenByPropertyId["provincia"].on("change", function(){
                            
                                for (var 
    i=0i<json.TIPOLOGICHE.T_PROVINCE.PROV.lengthi++){
                                    
                                    
    //svuoto i campi comune e cap
                                    
    control.childrenByPropertyId["comune"].setValue("");
                                    
    control.childrenByPropertyId["cap"].setValue("");
                                    
    //svuoto i comuni quando non ho nessun valore per la prov
                                    
    if(control.childrenByPropertyId["provincia"].getValue()==""){
                                        $(
    '#al10').find('option').remove();
                                    }
                                    
                                    if(
    control.childrenByPropertyId["provincia"].getValue()!=null){
                                        
                                        for (var 
    x=0x<json.TIPOLOGICHE.T_PROVINCE.PROV[i].COM.lengthx++){
                                            
                                            if(
    control.childrenByPropertyId["provincia"].getValue()==json.TIPOLOGICHE.T_PROVINCE.PROV[i].desc){
                                                
    //controllo che il valore della prov scelto sia uguale nel json
                                                //funzione per svuotare le option
                                                //console.log(control.childrenByPropertyId["comune"].selectOptions)=null;
                                                //$('#al10 selectedIndex').find('option');
                                                
                                                
    if(control.childrenByPropertyId["comune"].getValue()===null ||
                                                    
    control.childrenByPropertyId["comune"].getValue=="-- Select --"){
                                                        
    //console.log(control.childrenByPropertyId["provincia"]);
                                                        
                                                        
    $('#al10').find('option').remove();
                                                        
    control.childrenByPropertyId["comune"].setValue("");
                                                        $(
    '#al10').append('<option value="">'+"-- Select --"+'</option>');
                                                        
    control.childrenByPropertyId["comune"].setValue("-- Select --");
                                                        
                                                    }                                            
                                                    
                                                
    //if(control.childrenByPropertyId["comune"].setValue()==null){
                                                    
    $('#al10').append('<option value="'+json.TIPOLOGICHE.T_PROVINCE.PROV[i].COM[x].code+'">'+json.TIPOLOGICHE.T_PROVINCE.PROV[i].COM[x].desc+'</option>');
                                                
    //}
                                            
    }
                                        }
                                    }
                                }
                            })
                        });
                        
    //fine comune 
    questo è il json
    Codice PHP:
    {
      
    "TIPOLOGICHE": {
        
    "T_PROVINCE": {
          
    "PROV": [
            {
              
    "ag""Sud",
              
    "code""1",
              
    "desc""AG",
              
    "name""Agrigento",
              
    "reg""Sicilia",
              
    "COM": [
                {
                  
    "cap""92100",
                  
    "code""7550",
                  
    "desc""AGRIGENTO"
                
    },
                {
                  
    "cap""92010",
                  
    "code""7551",
                  
    "desc""ALESSANDRIA DELLA ROCCA"
                
    },
                {
                  
    "cap""92020",
                  
    "code""7592",
                  
    "desc""VILLAFRANCA SICULA"
                
    }
              ]
            },
            {
              
    "ag""Nord",
              
    "code""2",
              
    "desc""AL",
              
    "name""Alessandria",
              
    "reg""Piemonte",
              
    "COM": [
                {
                  
    "cap""15011",
                  
    "code""860",
                  
    "desc""ACQUI TERME"
                
    },
                {
                  
    "cap""15060",
                  
    "code""861",
                  
    "desc""ALBERA LIGURE"
                
    },
                {
                  
    "cap""15060",
                  
    "code""1049",
                  
    "desc""VOLTAGGIO"
                
    }
              ]
            }
        ]
       }
    }

    Ultima modifica di noos; 14-05-2015 a 18:14
    Vola solo chi ha il coraggio di farlo

  2. #2
    Utente di HTML.it L'avatar di noos
    Registrato dal
    Jul 2003
    Messaggi
    995
    Ciao per chi ha lo stesso problema ho risolto svuotando nuovamente i campo dopo il secondo ciclo for

    non è la miglior soluzione ma funziona.
    Vola solo chi ha il coraggio di farlo

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 © 2024 vBulletin Solutions, Inc. All rights reserved.