Cloner dans JQuery et append des identifiants uniques pour chaque

Je crée une application Web simple, où les utilisateurs entrent; faites votre choix dans les listes déroulantes et entrez du texte. Une fois cette opération terminée, les utilisateurs appuient sur un bouton “générer” qui leur indiquera la chaîne concaténée obtenue (affichée dans un ), que les utilisateurs peuvent ensuite copier et coller. Je l’ai pour travailler pour une ligne sans problème.

Mais ce que je cherche maintenant à faire, c’est d’avoir un bouton «Ajouter une ligne», sur lequel l’utilisateur peut cliquer, qui reproduira la ligne ci-dessus. Ce qui me pose problème, c’est de veiller à ce qu’une fois la ligne répliquée et le clic sur le bouton Générer, le copié remplisse les mêmes valeurs que le précédent .

UPDATE: J’ai donc réussi à utiliser la fonction clone() de JQuery pour copier la ligne et l’ajuster en dessous. Est-il possible de changer les identifiants pour chaque élément copié, y compris l’identifiant du formulaire. c’est-à-dire que, lorsqu’il est copié, le formulaire sur lequel il est copié s’appelle “Form1”

JS Fiddle de ce que j’ai est ici:

http://jsfiddle.net/XJEAn/

MISE À JOUR 2: J’ai besoin de quelque chose de similaire, mais pour le code que j’ai essayé!

j’ai mis à jour votre violon pour donner aux nouvelles formes un identifiant unique

http://jsfiddle.net/zq3AN/

ce n’est probablement pas tout à fait parfait, mais vous devriez aller dans la bonne direction.

 var uniqueId = 1; $(function() { $('.addRow').click(function() { var copy = $("#original").clone(true); var formId = 'NewForm' + uniqueId; copy.attr('id', formId ); $('#campaign').append(copy); $('#' + formId).find('input,select').each(function(){ $(this).attr('id', $(this).attr('id') + uniqueId); }); uniqueId++; }); }); 

fondamentalement, vous copiez le formulaire, changez son identifiant et ajoutez-le à la div. vous examinez ensuite toutes les entrées, sélectionnez et ajoutez le même paramètre uniqueId à leurs identifiants.

Je pense que vous pouvez utiliser la fonction jQuery clone () pour implémenter votre fonctionnalité “append une ligne”.

Consultez le dernier exemple pour donner à chaque nouvelle ligne un identifiant unique.