Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    10

    jquery e duplicazione delle righe di una tabella

    Salve,
    ho la necessità di avere una tabelle, nelle quali righe, oltre le colonne per i dati, in ultima colonna mi ritrovo un pulsante di dulicazione riga.

    Quello che accade è che quando creo una duplicazione, partendo da una riga già risultato di una duplicazione, il pulsante delle nova riga, anch'esso duplicato, non viene rilevato dell'evento jquery.

    Qualcuno sa aiutarmi?
    Grazie

  2. #2
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Ciao, funzioni ed eventi applicati tramite JavaScript/jQuery ad un qualsiasi elemento HTML, di norma non vengono mantenuti quando l'elemento viene duplicato. Credo quindi che dovresti applicare nuovamente la funzione jQuery al pulsante appena creato dopo che la riga viene duplicata.

    Se non riesci, posta il codice in questione o, se possibile, posta un link alla pagina pubblica, così ti si può aiutare meglio.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  3. #3
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Devi usare evento on (disponibile dalla versione 1.7) per associare il click al pulsante $('body').on('click', '.tuaclassepulsante', function(){quello che deve fare il tasto}) il tutto racchiuso nel ready

    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    10
    Quote Originariamente inviata da cavicchiandrea Visualizza il messaggio
    Devi usare evento on (disponibile dalla versione 1.7) per associare il click al pulsante $('body').on('click', '.tuaclassepulsante', function(){quello che deve fare il tasto}) il tutto racchiuso nel ready


    Grazie per le indicazioni che mi avete dato, ma mi trovo comunque in difficoltà, vi posto il codice che ho scritto:

    <form role="frmRigheFattura">
    <table class="table table-striped table-bordered table-hover righeFattura" id="tblRigheFattura" >
    <tbody>
    <tr>
    <td colspan="5">
    <label class="control-label" for="textinput">desc. prodotto/servizio</label>
    <input type="text" id="descProdServ" class="form-control textarea">
    </td>
    </tr>
    <tr>
    <td>
    <label class="control-label" for="textinput">conto di contabilità</label>
    <select id="ctContabilita" name="ctContabilita" class="form-control">
    <option>piano dei conti 1</option>
    <option>piano dei conti 2</option>
    <option>...</option>
    </select>
    </td>
    <td>
    <label class="control-label" for="textinput">Qta</label>
    <input type="text" id="qta" class="form-control" style="width: 50px;">
    </td>
    <td>
    <label class="control-label" for="textinput">importo</label>
    <input type="text" id="prezzo" class="form-control miniTextBox">
    </td>
    <td>
    <label class="control-label" for="textinput">iva</label>
    <select id="iva" name="iva" class="form-control">
    <option>4 %</option>
    <option>10 %</option>
    <option>...</option>
    </select>
    </td>
    <td>
    <div class="btn-group">
    <a class="btn btn-default dropdown-toggle" data-toggle="dropdown" href="#"><i class="fa fa-align-justify"></i></a>
    <ul class="dropdown-menu">
    <li><a name="lnkDuplica" href="#" class="clsDuplica"><i class="fa fa-pencil fa-fw"></i> duplica</a></li>
    <li><a name="lnkCancella" href="#"><i class="fa fa-trash-o fa-fw"></i> cancella</a></li>
    </ul>
    </div>
    </td>
    </tr>
    </tbody>
    </table>


    $(".clsDuplica").on('click', function() {
    $(this).closest('.righeFattura').clone().insertAft er(".righeFattura:last");
    });

    il risultato è che la prima volta il pulsante clsDuplica funziona, in quanto già presente nella pagina quando viene caricata, quindi presenta nel DOM; mentre il clsDuplica del secondo pulsante duplicato dal primo, non scatena + l'evento on(click.. del javascript. E' come se per il secondo pulsante, generato dalla duplicazione del primo, non ci fosse la funzione jquery.

  5. #5
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Come ti ho detto devi usare l'evento on al body non alla classe
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    10
    Quote Originariamente inviata da cavicchiandrea Visualizza il messaggio
    Come ti ho detto devi usare l'evento on al body non alla classe

    Funziona!
    Grazie ragazzi.

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.