我有一个能够拥有无限数量的用户添加输入的表单。
举个例子,想象一下带有“添加引用”部分的作业应用程序。有一个“+”按钮,以及任何已添加的参考旁边的“删除”。
这是一个示例模板
<script type="text/template" id="referenceTmpl">
<div>
<h2>Reference No. <%= index %></h2><a id="removeRef<%= index %>">Remove</a>
Name: <input type="text" name="references[<%= index %>].name" />
Email: <input type="text" name="references[<%= index %>].email" />
(...)
</div>
</script>
当删除任何“参考”时,我想重新编号。由于表单输入可能已包含未保存的数据,因此我需要在不完全重新呈现模板的情况下执行此操作。我想以一种可销售的方式(每个输入不需要太多额外的代码)这样做,因为该解决方案可以在更复杂的应用程序中使用。
如果解决方案可以从中受益,请随意假设我正在使用jQuery。
有什么想法吗?
答案 0 :(得分:1)
在不侵入代码的情况下执行此类操作的最佳方法是使用模型(列表)作为所谓的“引用”。
您应该将Backbone.js与Underscore.js结合使用: Backbone.js documentation
有一个TODO示例应用程序可以完全按照您的要求执行:
设置可能需要一些时间,但是当你完成后,你会更快地完成工作。