【发布时间】:2011-10-27 15:49:53
【问题描述】:
查看此表格 - 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 - 这部分并不那么重要,但我也考虑过使用相同的表单来加载数据以进行查看/编辑等。唯一的问题是重新打印表单意味着会有一个带有 id "Site7" 或其他东西的表单部分,但 jQuery 总是从 1 开始编号。我考虑过使用选择器来查找最高编号的站点并以该编号开始变量“站点”,但我不确定如何。任何建议如何做到这一点,或整体上更好的系统,将不胜感激。
【问题讨论】:
-
文档中的 .clone() 读起来像是您可能需要的?
标签: php jquery mysql html forms