См. Эту форму - http://schnell.dreamhosters.com/form.php
Эта форма содержит часть, в которую вы вводите данные, и можете добавить дополнительные данные, нажав кнопку «Добавить сайт», и онасделать еще один из этого раздела, чтобы войти на другой сайт.Это jQuery, который выполняет дублирование ...
$(function () {
var sites = 1;
var siteform = $("#site1").html();
$(".addsites").live("click", function(e) {
e.preventDefault();
sites++;
$("#events").append("<div id='site" + sites + "'>"
+ "<br /><hr><br />"
+ siteform
+ "<center><button class='removesites' title='site"
+ sites + "'>Remove This Site</button><br />"
+ "<button class='addsites'>Add Another Site</button>"
+ "</center></div>");
});
$(".removesites").live("click", function(e) {
e.preventDefault();
var id = $(this).attr("title");
$("#" + id).remove();
});
});
Дублирование работает отлично, но меня беспокоит одна вещь: когда мне приходится вводить данные для кого-то, требующего МНОГО сайтов, он оченьраздражает необходимость повторять одни и те же или похожие части этого раздела формы (например, каждый сайт находится в одном и том же городе, в один и тот же день, одним и тем же человеком и т. д.). Поэтому у меня возникла мысль, что при каждом дублировании значенияэлементы формы также переносятся, и я просто редактирую то, что не то же самое.Текущая реализация дублирует только элементы, а не данные.Я не уверен, как легко скопировать данные в новые разделы, и я не могу найти никаких инструментов jQuery для этого.
PS - эта часть не так важна, но я также рассмотрелиспользование этой же формы для загрузки данных обратно для просмотра / редактирования и т. д. Единственная проблема с этим заключается в том, что перепечатывание формы означает, что будет раздел формы с идентификатором «Site7» или чем-то, но jQuery запускает егонумерация на 1, всегда.Я думал об использовании селекторов, чтобы найти сайт с наибольшим номером и начать с переменной 'sites' с этим номером, но я не уверен, как это сделать.Буду очень признателен за любой совет, как это сделать, или за лучшую систему в целом.