Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2017
    Messaggi
    52

    reset append prima di un nuovo select con jquery

    Salve, mi servirebbe un aiuto, in pratica ricavo da una chiamata ajax dei dati da mysql che normalmente con php ricavarei ciclicamente con foreach. Sto cercando di farli con ajax in modo dinamico.
    In questo modo funziona, solo che ogni volta che seleziono dalla barra a tendina, mi aggiunge i dati nuovi e lascia anche i dati vecchi. Come posso fare per fare in modo che ad ogni select si resetti tutto e mi aggiunga solo i dati del select e cancelli quelli già estrapolati?

    codice HTML:
     <table id="userTable" border="1" >
          <thead>
            <tr>
              <th width="5%">S.no</th>
              <th width="95%">Username</th>
              
            </tr>
          </thead>
          <tbody></tbody>
       </table>
    codice HTML:
     <select id="select">
    <option value="">---</option>
    <?php foreach ($data['prova'] as $prova) : ?>
    
    <option value="<?php echo $prova->id; ?>"><?php echo $prova->name; ?></option>
     <?php endforeach; ?>
     </select>  
    codice HTML:
    <script>
    $(document).ready(function() {
        $('#select').change(function() {
            var id = $(this).val();
            $.ajax({
                url: '<?php echo URLROOT; ?>/workshop',
                type: 'post',
                data: {request: 1, craftId: id},
                dataType: 'json',
                success: function(response) {
                    
                    if (id > 0) {
                         $.each(response,function(key,value){
                         var name = value.name;
                         var tr_str = "<tr>" + 
                        "<td align='center'>" + key + 
                        "<td align='center'>" + name + "</td>" +
                        
                        "</tr>";
                        
        $("#userTable tbody").append(tr_str); 
        
                         });   
                    } else {
                        //
                      
                    }
                }
            });
        });
    });
    </script>

  2. #2
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514
    provato a resettare il body della tabella con

    codice:
                    
        $("#userTable tbody").html("");
    prima del ciclo for?
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  3. #3
    Utente di HTML.it
    Registrato dal
    May 2017
    Messaggi
    52
    Quote Originariamente inviata da ciro78 Visualizza il messaggio
    provato a resettare il body della tabella con

    codice:
                    
        $("#userTable tbody").html("");
    prima del ciclo for?
    avevo risolto con questa soluzione mettendo dei div, ma la tua è più sbrigativa. Comunque entrambe fanno la stessa cosa.Ti ringrazio
    codice HTML:
    $('#userTable').find('div:not(:first)').remove();

  4. #4
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514
    di nulla figurati
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


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.