2017-08-10 2 views
0

J'ai une fonction jquery qui n'autorise que les nombres dans la zone de saisie. Cela fonctionne bien dans la première rangée de la table, mais pas sur les lignes clonées après. Voici mon code js clone, je comprends qu'il peut avoir à faire avec clone (true, true) mais ne l'a pas résolu.La fonction Jquery fonctionne sur le premier td de la table, mais pas sur les clones

var $to_clone = $('.tr_clone').first().clone(); 
    $(document).on('click', 'input.tr_clone_add', function() { 
    var $tr = $(this).closest('.tr_clone'); 
    var $clone = $to_clone.clone(); 
    $clone.find(':text').val(''); 
    $tr.after($clone); 
    }); 
+1

Alors, où est cette fonction qui permet seulement les nombres? Ce n'est pas celui publié – adeneo

+0

Savez-vous que [.clone()] (https://api.jquery.com/clone/) accepte un couple d'arguments booléens? Je les soupçonne d'être importants ici. –

+0

Qu'est-ce que '$ to_clone'? –

Répondre

1

Vous l'aviez presque vous aussi. Il semblerait que ce soit effectivement le clone(true, true), mais je suppose que vous ne l'avez pas utilisé lors de la définition de l'objet $to_clone (qui est un clone de la première ligne) ET lors de la création d'un clone de cet objet à ajouter à la table. J'ai utilisé le violon auquel vous étiez lié avec cette extension numérique, ajouté votre code et ajouté true,true comme paramètre aux deux appels clone(), et il semble avoir une entrée numérique uniquement pour toutes les copies.

https://jsfiddle.net/59wvxa7r/

Edit: Aussi, rappel amical, si vous répondez à une question dans les commentaires, mieux pour marquer l'utilisateur auquel vous répondez (comme @ mark.hch me tag) - Nous recevez un message lorsque vous répondez - sinon, nous, utilisateurs paresseux, ne reviendrons peut-être jamais voir votre réponse.

+0

Merci pour votre suggestion @ mark.hch. Votre violon fonctionne très bien, j'ai intégré votre modification à ma forme de travail complète (https://jsfiddle.net/rdugert/2nxhdsbq/) mais je rencontre toujours le problème sur les lignes 2d et suivantes ... Avez-vous changé quelque chose d'autre dans le numérique script jquery? –

+0

@RenaudDUGERT, Non, n'a rien changé d'autre. Je pense que cela a juste à voir avec l'ordre d'exécution; la fonction numérique était appelée sur les éléments '.numeric' après la création du clone, de sorte que la version clonée ne semblait pas l'avoir détectée. En plaçant la déclaration de la fonction numérique et l'appel '$ ('. Numeric'). Numeric ({...})' avant le reste du code, il semble bien fonctionner: https://jsfiddle.net/n3o88vd1/ –

+0

Hey @ mark.hch, merci pour cette aide! tout est résolu maintenant! –