• User

    Disabilitare più select da una select iniziale

    Ciao a tutti,
    ho bisogno cortesemente del vostro aiuto. Ho una form con più select, a seconda della scelta della primissima select, vorrei che le altre select venissero disabilitate o meno.Esempio, ho SELECT 1(con valori proposti 1 e 2), SELECT 2, SELECT 3. Se scelgo valore "1" di SELECT 1 deve disabilitare SELECT 2 E 3, se scelgo il valore "2" della SELECT 1 deve disabilitare solo la SELECT 2. Posto il codice:

    <script language="JavaScript">
    function disab(tipo){
    if(tipo=="B"){
    document.moduloGuest.cam.disabled=true;
    document.moduloGuest.ristorante.disabled=true;
    }
    else{
    document.moduloGuest.cam.disabled=false;
    document.moduloGuest.ristorante.disabled=false;
    }
    }
    function disab(tipo){
    if(tipo=="D"){
    document.moduloGuest.ristorante.disabled=true;
    }
    else{
    document.moduloGuest.ristorante.disabled=false;
    }
    }
    </script>
    
    <form name="moduloGuest" id="moduloGuest" method="post">
    <table>
    
         <tr>
           <td><strong> tipologia </strong></td><td><select name="tipo" id="tipo" onchange="disab(this[this.selectedIndex].value)" style="font-size: 11px;">
          <option value=""> -- </option>
          <option value="A"> A </option>
          <option value="B"> B </option>
          <option value="C"> C </option>
          <option value="D"> D </option>
          <option value="E"> E </option>
          <option value="F"> F </option>
          <option value="G"> G </option>
        </select></td>
       </tr>
    
           <tr>
                 <p><strong> camere </strong>
                 <select name="cam" id="cam" style="font-size: 11px;">
                   <option value=""> -- </option>
                   <option value="1"> 1 </option>
                   <option value="2"> 2 </option>
                   <option value="3"> 3 </option>
                   <option value="4"> 4 </option>
                   <option value="5"> 5 </option>
                   </select>
               <p><strong>ristorante</strong>
                 <select name="ristorante" id="ristorante" style="font-size: 11px;">
                   <option value=""> -- </option>
                   <option value="1"> 1 </option>
                   <option value="2"> 2 </option>
                   <option value="3"> 3 </option>
                   <option value="4"> 4 </option>
                   <option value="5"> 5 </option>
                   </select>
                 <p></td>
        </tr>
    </table>
    </form>
    

    Se seleziono D su TIPOLOGIA mi disabilita ristorante_(ed è giusto), ma se seleziono su tipologia B, che dovrebbe disabilitarmi select CAM e RISTORANTE non funziona...so che nel linguaggio java un'istruzione elimina l'altra, ma come posso fare?_Mi suggerite come per cortesia?

    Grazie.


  • User

    Prova a scrivere la funzione "disab" un solva volta così:

    
    function disab(tipo){
       switch(tipo)
       {
         case"B":
           document.moduloGuest.cam.disabled=true;
           document.moduloGuest.ristorante.disabled=true;
         break;
         case"D":
           document.moduloGuest.cam.disabled=false;
           document.moduloGuest.ristorante.disabled=false
         break;
       }
    }
    
    

  • User

    perfetto!
    grazie mille!


  • User

    Di nulla 😉