【发布时间】:2012-11-02 06:46:46
【问题描述】:
标题描述性不是很好,但我找不到更好的。随意编辑它。
基本上我正在寻找的是执行以下操作的最佳方法:
当用户单击“添加新项目”时,会添加一个带有相同文本框的新行,并如上所示下拉。我能想到的选项如下:
- 在 JavaScript 代码中对 HTML 进行硬编码。这显然是一个非常丑陋的解决方案。
- 从 DOM 节点(或 jQuery 对象)组装 HTML。这也很丑。
- 使用客户端模板系统。我曾经使用过其中一个,它很奇怪(它使用
<script language="html">标签来定义模板)。 - 制作一个临时的客户端“模板”并使用 CSS 以某种方式隐藏它。
- 发出 AJAX 请求以获取 HTML。这很慢,而且会不必要地使用服务器资源。
你有什么建议?我对上述任何解决方案都不完全满意。
【问题讨论】:
-
使用 jQuery 是否重要,或者您想要一个简单的 jane javascript 解决方案?
-
克隆最后一行,修改
ids(如果有)并附加到当前最后一行的父级。 -
@BradChristie:我更喜欢 jQuery。
-
@BotondBalázs:this 怎么样?
-
@DavidThomas:这看起来是个不错的解决方案,谢谢。也许将其扩展为答案,以便我可以投票?
标签: javascript html web-applications web