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

    Select dipendenti: aiuto per cambiare gli indici

    Ciao a tutti, sto usando questo schema per due select, la seconda dipendente dalla prima:
    http://www.devguru.com/features/know...e/A100209.html
    Ho inserito i miei dati e tutto va bene, l'unica cosa, vorrei che nella prima select le variabili associate alle voci dei menu' partano da uno e non da zero.
    Ho provato a cambiare gli indici nell'html e nel codice del javascript ma ho fatto solo casino.
    Dovrebbe essere molto facile, sapendo pero' un minimo di JS (ahi ahi ahi...).
    Se avete un minuto per darmi una mano...
    Ciao

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Posta quanto hai fatto finora... non puoi chiedere di aggiustare una cosa sconosciuta...

    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
    A parte i valori letterali il codice e' identico a quello nell'esempio presente nella pagina che ho linkato, Il link in basso.

  4. #4
    Eccolo comunque:
    codice:
    <html>
    <head>
    <title>Dynamic Select Example</title>
    
    <script type="text/javascript">
    // Create arrays containing state cities
    // Note: These arrays could be created dynamically
    var arrStates, arrFlorida, arrNewYork, arrTennessee
    arrFlorida = ["Daytona Beach", "Miami", "Orlando", "Tampa"]
    arrNewYork = ["Albany","New York", "Oakland", "Rochester"]
    arrTennessee = ["Gatlinburg", "Knoxville", "Memphis", "Nashville"]
    arrStates =[arrFlorida, arrNewYork, arrTennessee]
    
    // Function to handle dynamically altering the contents of the City List box
    function handleChange(newDisplay)
    {   var StateSelect, CitySelect, NumEntries, i
        StateSelect = document.frm.States
        CitySelect = document.frm.Cities
    
      // Delete all entries in the cities list box
      for (i = CitySelect.length; i > 0; i--)
      {
        CitySelect.options[i-1] = null
      }
    
      // Add comment option to City List box
      CitySelect.options[0] = new Option("-- Select City --",0)
    
      // If state is selected add its cities to the City List box
      if (newDisplay >= 0)
      {
        NumEntries = arrStates[newDisplay].length
        for (i = 1; i <= NumEntries; i++)
        {
          CitySelect.options[i] = new Option((arrStates[newDisplay])[i-1],(i))
        }
      }
      CitySelect.selectedIndex = 0
    
    }
    </script>
    </head>
    
    <body>
    <form name="frm" action="">
    States:
    <select name="States" onChange="handleChange(this[this.selectedIndex].value)">
      <option value="-1">-- Select State --
      <option value="0">Florida
      <option value="1">New York
      <option value="2">Tennessee
    </select>
    
    
    
    
    Cities: 
    <select name="Cities">
        <option value="-1">-- Select City --
        <option>
        <option>
        <option>
        <option>
    </select>
    <script type="text/javascript">
    handleChange(-1)
    </script>
    </form>
    </body>
    </html>

  5. #5
    Utente di HTML.it L'avatar di DanMX
    Registrato dal
    Oct 2003
    Messaggi
    44
    Ciao a tutti, anche io ho usato un sistema simile per gestire dei campi select di un form.
    Nel mio caso però il cambiamento del campo Cities causa la modifica di un terzo campo Quartieri.

    Il problema è che non mi funziona la funzione:
    <select name="Cities" onChange="handleChange(this[this.selectedIndex].value)">

    Qualcuno sa dirmi perchè non viene intercettato il valore di Cities?

    Grazie.

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    onchange="handleChange(this.options[this.selectedIndex].value);"
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  7. #7
    Utente di HTML.it L'avatar di DanMX
    Registrato dal
    Oct 2003
    Messaggi
    44
    Ok, e nel caso volessi passare come parametro di handleChange anche il valore del campo States?

    Ho provato a fare così:
    <select name="Cities" onChange="handleChange(States.options[this.selectedIndex].value,this.options[this.selectedIndex].value)">

    Non funziona.

    Sai dirmi perchè?

    Grazie ancora.

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Perche` non funziona e` facile a dirsi.
    Non e` definito l'oggetto States e il this si riferisce all'oggetto in cui e` inserito (quindi nel tuo caso la select Cities).

    Per come correggere, la cosa e` piu` complessa: non mi pare che la funzione accetti piu` parametri.

    Comunque sistemo solo la chiamata. Non credo ti servira`, perche` occorre sistemare la funzione e a quel punto puoi fare in modo che basti passare un this e il resto lo sistema quella:
    onchange="handleChange(this.form.States.options[this.form.States.selectedIndex].value, this.options[this.selectedIndex].value);"
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  9. #9
    Utente di HTML.it L'avatar di DanMX
    Registrato dal
    Oct 2003
    Messaggi
    44
    risolto, grazie. ;-)

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.