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

    [JQuery] nascondere div con attributo jquery

    Ciao Raga, urge aiutino !

    Ho un form composto da 3 div dove al loro interno ci sono i vari campi di input.
    Il primo rimane sempre visualizzato gli altri 2 l'utente può visualizzarli se viene cliccato un checkbox.

    Adesso il mio problema è il seguente;
    se l'utente che ha spuntato il checkbox e compilato i vari campi inseriti nel rispettivo div, nel caso clicchi il pulsante di reset per ripristinare e ripulire il form mi pulisce anche la spunta dal checkbox, e mi rimane visualizzato il div, e questo è un problema perchè il div deve essere visualizzato solo se viene il checkbox è valorizzato.

    Mi piacerebbe capire se al pulsante del form onclick="document.getElementById('mio_form').reset ();" è possibile associare un comando per rilevare se in quel momento il checkbox è checked e se lo è lasciarlo checked ripristinando tutti gli altri campi, oppure se ci fosse qualche altra soluzione.

    Per visualizzare il primo div uso questo codice;

    codice:
    $('#div_form_1').hide();
    
    $(document).ready(function() {    
       $('#checkbox').change(function(){
              if ($(this).is(":checked")) {
                $('#div_form_1').show();
    
            } else {
                $('#div_form_1').hide();
            }
        })
    });

    Qualcuno può aiutarmi, please ?





    .

  2. #2
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Ciao, personalmente userei una semplice variabile che mantenga il valore corrente del checkbox in modo da poterlo ripescare dopo il reset.

    Il resto del tuo script può essere snellito.
    Posto un esempio:
    codice:
    <!DOCTYPE HTML>
    <html>
      <head>
        <title>Esempio</title>
        <meta charset="utf-8">
        <script src="http://code.jquery.com/jquery-latest.min.js"></script>
        <script type="text/javascript">
          $(function(){
            var isChecked;                                                  // flag per il controllo del checkbox
            $('#checkbox').change(function(){                               // al change del checkbox
              $('#div_form_1').toggle(isChecked = $(this).is(":checked"));  // visualizzo/nascondo il div e aggiorno la variabile di controllo
            }).change();                                                    // chiamo il change ad apertura pagina per aggiornare lo stato del div
            $("#resetForm").click(function(e){                              // al click del pulsante reset
              e.preventDefault();                                           // prevengo l'azione di default del reset
              $('form')[0].reset();                                         // eseguo il reset
              $('#checkbox').prop('checked', isChecked).change();           // quindi aggiorno il checkbox secondo la variabile di controllo
            })
          })
        </script>
      </head>
      <body>
        <form action="action_page.php">
          <label><input type="checkbox" id="checkbox" value="#checkbox"> #checkbox</label>
          <div id="div_form_1">Questo è #div_form_1
            <input>
          </div>
          <br><input>
          <br><input>
          <br>
          <input type="submit"></fieldset>
          <input type="reset" id="resetForm">
        </form> 
      </body>
    </html>
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  3. #3
    Grande KillerWorm !!!

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.