У меня есть форма с полями ввода, и клиент может нажать кнопку, расположенную в нижней части поля, «Добавить систему». Эта функция будет клонировать div с id = "template". Все идет нормально.jQuery clone не отображается, где я ожидал
Existing Form
Existing Form
Existing Form
Cloned 3
Cloned 2
Cloned 1
Add a System Button
но то, что мне это нужно сделать, это переместить клонированный шаблон как Teh самый последний пункт как раз над кнопкой Добавить систему:
Existing Form
Existing Form
Existing Form
Cloned 1
Cloned 2
Cloned 3
Add a System Button
где клонировали 3 является, где шаблон появится В третий раз нажата кнопка. Если пользователь добавляет 20 систем, кнопка и поле даже не отображаются на экране одновременно. Я искал insertBefore, но, видимо, этого не существует в JavaScript.
JS код:
function AddNewSystem(){
alert('Adding new system');
var CurrentLi = $('.template');
CurrentLi.clone().insertAfter($('#cloned'));
}
Вот jsfiddle, чтобы увидеть то, что я говорю. Нажмите кнопку «Добавить систему» и где появится шаблон слова, измените его на 1 (или 2 или 3 и т. Д.) И повторите это как минимум 3 раза. К этому моменту вы должны увидеть, как вставляет шаблон.
Есть ли лучший способ клонировать, чем то, что я делаю?
Благодаря Джеймсу Монтань. Я обновляю jsfiddle, чтобы отразить исправленную функцию. http://jsfiddle.net/Excalibur/Rm4uf/2/ – HPWD
Это не хорошая практика для клонирования ID. Скорее элементы класса клона. Я уверен, что вам не нужно 20 идентификаторов с одинаковым именем в вашем DOM. Это может легко запустить вас в проблемы позже. –
Я был опечаткой. Спасибо, что поймал это. Моя скрипка была правильной. – HPWD