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

    Select dinamiche, problema valore selected

    Ciao a tutti, mi sto cimentando con le select box in javascript...in particolare stavo dando un'occhiata all'esempio presente nel vs sito...

    Vorrei fare in modo che il valore di default della prima select box sia "Europa" e non "Seleziona un continente"; ho quindi tolto il selected="selected" da "Seleziona un continente" per metterlo su "Europa"; quando vado a caricare la pagina però, la prima select box è impostata di default su "Europa", ma nella seconda select box non appaiono le città d'Europa corrispondenti...tuttavia se mi sposto su un'altro continente e poi ritorno su Europa, le città d'Europa compaiono...come posso fare per visualizzare da subito anche le città d'Europa?

    grazie a tutti e complimenti per il sito!

    codice:
    <script type="text/javascript">
    /* 
         Script  tratto dal libro "JavaScript and DHTML Cookbook" - Capitolo 8-13
         Pubblicato da O'Reilly & Associates
         Copyright 2003 Danny Goodman
    	  Riprodurre questa nota per qualunque riutilizzo del codice.
    	*/
    var regiondb = new Object()
    regiondb["africa"] = [{value:"102", text:"Cairo"},
                          {value:"88", text:"Lagos"},
                          {value:"80", text:"Nairobi"},
                          {value:"55", text:"Pretoria"}];
    regiondb["asia"] = [{value:"30", text:"Ankara"},
                        {value:"21", text:"Bangkok"},
                        {value:"49", text:"Pechino"},
                        {value:"76", text:"New Delhi"},
                        {value:"14", text:"Tokyo"}];
    regiondb["australia"] = [{value:"64", text:"Suva"},
                              {value:"12", text:"Sydney"}];
    regiondb["europa"] = [{value:"11", text:"Atene"},
                          {value:"35", text:"Francoforte"},
                          {value:"3", text:"Londra"},
                          {value:"15", text:"Madrid"},
                          {value:"1", text:"Parigi"},
                          {value:"10", text:"Roma"},
                          {value:"6", text:"Stoccolma"},
                          {value:"97", text:"San Pietroburgo"}];
    regiondb["noamer"] = [{value:"73", text:"Dallas"},
                          {value:"71", text:"Los Angeles"},
                          {value:"5", text:"New York"},
                          {value:"37", text:"Toronto"}];
    regiondb["suamer"] = [{value:"65", text:"Buenos Aires"},
                          {value:"31", text:"Caracas"},
                          {value:"66", text:"Rio di Janeiro"}];
    
    function setCities(chooser) {
        var newElem;
        var where = (navigator.appName == "Microsoft Internet Explorer") ? -1 : null;
        var cityChooser = chooser.form.elements["città"];
        while (cityChooser.options.length) {
            cityChooser.remove(0);
        }
        var choice = chooser.options[chooser.selectedIndex].value;
        var db = regiondb[choice];
        newElem = document.createElement("option");
        newElem.text = "Seleziona una città:";
        newElem.value = "";
        cityChooser.add(newElem, where);
        if (choice != "") {
            for (var i = 0; i < db.length; i++) {
                newElem = document.createElement("option");
                newElem.text = db[i].text;
                newElem.value = db[i].value;
                cityChooser.add(newElem, where);
            }
        }
    }
    
    
    </script></head>
    
    
    <body>
    <h1>Esempio - Select dinamiche</h1>
    <hr> 
    <form name="form">
    Invia la richiesta a: 
    <select name="continente" onchange="setCities(this)">
    <option value="" selected="selected">Seleziona un continente:</option>
    
    <option value="africa">Africa</option>
    <option value="asia">Asia</option>
    <option value="australia">Australia/Oceania</option>
    <option value="europa">Europa</option>
    <option value="noamer">Nord America</option>
    <option value="suamer">Sud America</option>
    </select> 
    <select name="città">
    <option value="" selected="selected">Seleziona una città:</option>
    </select>
    
    </form>

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Benvenuto sul forum

    <body onload="document.forms[0].continente.selectedIndex=4;">

    E' una soluzione poco professionale, ma per impostarlo meglio occorre agire direttamente sul server, con il javascript questo e quanto si puo' fare com poca fatica

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    A fondo script aggiungi le righe rosse:
    codice:
    qui c'è lo script.......
       }
    }
    
    onload=function(){setCities(document.form.elements["continente"])}
    
    </script>


    Ciao Br1, io avevo capito che voleva caricare la seconda select non impostare la prima, poco male a entrambi le selezioni, mi unisco al benvenuto.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  4. #4
    concordo con cavicchiandrea

    quando la pagina si carica, non c'è niente che carica la senconda select.
    basta lanciare manualmente la funzione setCities al load della pagina:
    Codice PHP:
    function pageLoad {
       
    setCities(document.form.elements["continente"]);

    oppure
    Codice PHP:
    if (window.addEventListener) {
       
    window.addEventListener ("load",setCities(document.form.elements["continente"]);,false);
    } else if (
    window.attachEvent) {
       
    window.attachEvent ("onload",setCities(document.form.elements["continente"]); );
    } else {
       
    window.onloadsetCities(document.form.elements["continente"]);;

    oppure
    Codice PHP:
    <body onload="setCities(document.form.elements["continente"])"
    scegliete voi

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.