Клонировать в JQuery и добавлять уникальные идентификаторы для каждого - PullRequest
3 голосов
/ 03 января 2012

Я создаю простое веб-приложение, куда приходят пользователи; сделайте выбор из выпадающих списков и введите текст. Как только это будет выполнено, пользователи нажимают кнопку «Создать», которая покажет им полученную объединенную строку (показанную в <span>), которую пользователи затем могут скопировать и вставить. У меня это работает на один ряд без проблем.

Но то, чего я сейчас пытаюсь добиться, - это иметь кнопку «Добавить строку», которую пользователь может щелкнуть, которая будет повторять строку выше. У меня проблемы с тем, чтобы убедиться, что после репликации строки и нажатия кнопки «Генерировать» скопированный <span> просто заполнит те же значения, что и предыдущий <span>.

ОБНОВЛЕНИЕ: Мне удалось использовать функцию clone() из JQuery, чтобы скопировать строку и добавить ее внизу. Можно ли изменить идентификаторы для каждого копируемого элемента, в том числе идентификатор формы. то есть, чтобы при копировании форма, в которую она копировалась, называлась «Form1»

JS. Вот что у меня есть:

http://jsfiddle.net/XJEAn/

ОБНОВЛЕНИЕ 2: По сути, мне нужно что-то похожее на это , но для кода, который я пробовал!

Ответы [ 2 ]

6 голосов
/ 03 января 2012

Я обновил вашу скрипку, чтобы дать новым формам уникальные идентификаторы

http://jsfiddle.net/zq3AN/

это, вероятно, не совсем идеально, но должно привести вас в правильном направлении.

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++;  
     });
});

По сути, вы копируете форму, меняете ее идентификатор и добавляете ее в div. затем вы просматриваете все входные данные, выбираете и добавляете один и тот же параметр uniqueId к их идентификаторам.

0 голосов
/ 03 января 2012

Я думаю, вы можете использовать функцию jQuery clone () для реализации вашей функции добавления строки.

Посмотрите на последний пример для присвоения каждой новой строке уникального идентификатора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...