+ Rispondi al Thread
Visualizzazione dei risultati da 1 a 4 su 4

Discussione: [Javascript] Select e apertura tabella

  1. #1
    sorglega non è in linea Novello
    Post
    3

    [Javascript] Select e apertura tabella

    Salve a tutti del forum.
    Il mio problema riguarda la funzione qui sotto.
    codice:
    function aggiornaOpzioni(scelta){
            var select = document.getElementById("metodall");
            var scelte = new Array();
          var c = document.getElementById('Harre');
           var d = document.getElementById('Bulgaro');
             switch(scelta) {
                case '1':               
                    scelte[0] = "Test di Harre";
                    scelte[1] = "Metodo Bulgaro";
                    break;
               
             case '2':               
                    scelte[0] = "LIGHT TO HEAVY SYSTEM";
                    scelte[1] = "HEAVY TO LIGHT SYSTEM";
                    break;
                default:
                    break;
            }         
              select.options.length = 1;
            for(var i=0; i<scelte.length; i++) {               
                select.options[select.options.length] = new Option(scelte[i],scelte[i]);       
    }
    Ho due select in cui la scelta della prima cambierà i contenuti della seconda.
    Quello che non riesco a fare è che in base alla voce scelta nella secoda select dovrò aprire una tabella relativa,il tutto tramite un bottone(seleziono voce--bottone--apertura).
    A senso non dovrei scrivere una nuova funzione ma implementare quella in cui sono presenti le voci della select a cui voglio associare un evento; quello che non riesco a capire riguarda il fatto che le voci della seconda select sono degli array e non so proprio come impostare il codice per fare associare un evento a quello che seleziono.
    Ho provato ad inserire nella stessa funzione altro codice ma senza risultati (inoltre come vi ho spiegato vorrei far aprire tutto tramite un bottone..):

    if-else:
    codice:
    function aggiornaOpzioni(scelta){
            var sel = document.getElementById("metodall");
            var scelte = new Array();
            switch(scelta) {
                case '1':               
                    scelte[0] = "Test di Harre";
            scelte[1] = "Metodo Bulgaro";
                  break;
         case '2':               
                    scelte[0] = "LIGHT TO HEAVY SYSTEM";
                    scelte[1] = "HEAVY TO LIGHT SYSTEM";
                         break;
                default:
                    break;
            }        
            sel.options.length = 1;
           for(var i=0; i<scelte.length; i++) {               
                sel.options[sel.options.length] = new Option(scelte[i],scelte[i]);       
       }
    
    if (Option(scelte[i],scelte[i]))
    document.getElementById("NomeForm").style.display="inline";
    else
      if (Option(scelte[i],scelte[i]))
    document.getElementById("NomeForm").style.display="inline";
    
      }

    Switch annidato:
    codice:
    function aggiornaOpzioni(scelta){
            var sel = document.getElementById("metodall");
            var scelte = new Array();
    
     
            switch(scelta) {
                case '1':               
                    scelte[0] = "Test di Harre";
                    scelte[1] = "Metodo Bulgaro";
    switch(scelte) {
                case scelte[0]: document.getElementById("Harre").style.display="inline";
                 case scelte[1]: document.getElementById("Bulgaro").style.display="inline";
        break;
         case '2':               
                    scelte[0] = "LIGHT TO HEAVY SYSTEM";
                    scelte[1] = "HEAVY TO LIGHT SYSTEM";
                    break;
                default:
                    break;
            }        
            }

    Vi posto anche il codice HTML
    Grazie in anticipo a tutti

    codice:
    <div id="Bulgaro">
    <form name="sommare">
    <table border="1">
        <tr>
           METODO BULGARO
       </tr>
        <tr>
          <td><label class="Bulgaro">%DEL MAX</label></td>
          <td>RIPETIZIONI</td>
          <td>SERIE</td>
          <td>VELOCITA'</td> 
       </tr>
         <tr>
    <td><input type="text"  size="4" class="corpo" name="Massimale()" disabled="disabled" readonly="readonly" id="w"></td>
       <td>1-4</td>
       <td>1</td>
       <td>MODERATA</td>
       </tr>
       <tr>
    <td><input type="text"  size="4" class="corpo" name="Massimale()" disabled="disabled" readonly="readonly" id="y"></td>
       <td>4-8</td>
       <td>1</td>
       <td>MASSIMA</td>
       </tr>
    </table>
    </div>   
    
    <div id="Harre">
    <form name="sommare">
    <table border="1">
        <tr>
           TEST DI HARRE
       </tr>
        <tr>
          <td><label class="HARRE">%1 RM</label></td>
          <td>RIPETIZIONI</td>
          <td>VELOCITA'</td>
          <td>RECUPERO</td> 
          <td>SPECIFICITA'</td>   
       </tr>
         <tr>
    <td><input type="text"  size="4" class="corpo" name="Massimale()" disabled="disabled" readonly="readonly" id="z7"></td>
       <td>1-5</td>
       <td>BASSA</td>
       <td>3-5'</td>
       <td>FORZA MASSIMALE</td>
       </tr>
       <tr>
    <td><input type="text"  size="4" class="corpo" name="Massimale()" disabled="disabled" readonly="readonly" id="z8"></td>
       <td>5-10</td>
       <td>BASSA</td>
       <td>2-4'</td>
        <td>FORZA MAX IPERTROFIA</td>
       </tr>
       <tr>
    <td><input type="text"  size="4" class="corpo" name="Massimale()" disabled="disabled" readonly="readonly" id="z9"></td>
       <td>6-10</td>
       <td>MASSIMA</td>
       <td>4-6'</td>
        <td>FORZA VELOCE</td>
       </tr>
         <tr>
    <td><input type="text"  size="4" class="corpo" name="Massimale()" disabled="disabled" readonly="readonly" id="z10"></td>
       <td>20-30</td>
       <td>BASSA</td>
       <td>35-40''</td>
        <td>FORZA RESISTENTE</td>
       </tr>
       <tr>
    <td><input type="text"  size="4" class="corpo" name="Massimale()" disabled="disabled" readonly="readonly" id="z11"></td>
       <td>25-30</td>
       <td>MODERATA</td>
       <td>OTTIMALE</td>
        <td>FORZA RESISTENTE</td>
       </tr>
       </table>
    </div>
    
    <div id="i1">
    <form name="sommare">
    <table border="1">
    
    SESSO
    <select name="sesso" size="1">
    <option selected></option>
    <option value ="maschio">Maschio</option>
    <option value ="femmina">Femmina</option>
    </select>
    
    ETA'
    <input name="eta" size="5">
    
    ALTEZZA
    <input name="altezza" size="5">
    
    PESO
    <input name="peso" size="5">
    
    MASSIMALE
    <input type="text" size="5" class="corpo" id="d">
    
    SCEGLI MUSCOLI
    <select>
    <option selected></option>
    <option>Pettorali</option>
    <option>Bicipiti</option>
    <option>Dorsali</option>
    <option>Addominali</option>
    <option>Tutti</option>
    </select>
    
    
    <br>
    SCEGLI OBBIETTIVO
    <select name="obbiet" size ="1" onchange="aggiornaOpzioni(this.options[this.selectedIndex].value);">
    <option selected></option>
    <option value="1">Forza</option>
    <option value="2">Massa</option>
    </select>
    SCEGLI METODO ALLENAMENTO
    <select id="metodall" name="metodall"  onchange="aggiornaOpzioni()" size ="1">
    <option selected></option>
    </select>&nbsp;&nbsp;&nbsp;&nbsp;
    
    <input type="button" onClick="Massimale();aggiornaOpzioni();" class="bottone" value="CALCOLA">
    </table>
    </div>
    
    <div id="risultati">
    <form name="sommare">
    <table border="1">
    <tr>
       <td bgcolor="#C0C0C0"><font color="black"><b>PESO FORMA</b><br>
       <input align="right" name="pesoforma" size="4"></font></td>
       
       <td bgcolor="#C0C0C0"><font color="black"><b>PESO M/F</b><br>
       <input align="right" name="pesomf" size="4"></font></td>
       
       <td bgcolor="#C0C0C0"><font color="black"><b>METABOLISMO</b><br>
       <input align="right" name="metaabolismo" size="4"></font></td>
       
       <td bgcolor="#C0C0C0"><font color="black"><b>METABOLISMO BASALE</b><br>
       <input align="right" name="mb" size="4"></font></td>
       
       </tr>
         </table>
    </form>
    </div>
    
    </body>
    </html>

  2. #2
    sorglega non è in linea Novello
    Post
    3
    C'è qualcuno che può consigliarmi?

  3. #3
    L'avatar di bumm
    bumm non è in linea Very Important Person Ultimo blog: [VB2010] ComboBox ed Enumeratori
    Luogo
    Bologna
    Post
    2,142
    Blogs
    1
    non so se ho capito bene il tuo problema... ho provato a fare qualche modifica.... vedi se va bene....Edit this Fiddle - jsFiddle
    "HeloWorld.exe" 17 errors, 31 warnings.

    Non mi mandate le richieste di aiuto via PM! Non vi risponderò! Tutte le domande fateli sul forum!

  4. #4
    sorglega non è in linea Novello
    Post
    3
    Ciao, innanzitutto grazie della risposta..
    Allora:
    Si, il problema da risolvere all'80% era quello quindi te ne sono grato,ma avrei bisogno di risolvere ancora 2 magagne:
    1) La funzione volevo che fosse collegata ad un bottone, nel senso che una volta selezionata la seconda voce, clicco il bottone e mi appare la tabella.
    2)Purtroppo devo per forza utilizzare javascript e non jquery (di cui non ne conosco la sintassi):riesci a tradurmi il tutto?

    Grazie ancora

+ Rispondi al Thread

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi