下划线 JS - 重新编号模板呈现的元素属性

underscore js - renumber template rendered element attributes

本文关键字:属性 元素 编号 JS 新编号 下划线      更新时间:2023-09-26

>我有一个表单,能够拥有无限数量的用户添加输入。

例如,假设一个带有"添加参考"部分的工作申请。有一个"+"按钮,以及任何已添加的引用旁边的"删除"。

下面是一个示例模板

<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,如果解决方案可以从中受益。

有什么想法吗?

在不入侵代码的情况下做这种事情的最佳方法是使用模型(列表)作为所谓的"引用"。


您应该尝试将 Backbone.js 与 Underscore.js 结合使用:主干.js文档

有一个 TODO 示例应用程序可以完全按照您的要求执行:

  • 应用程序代码细分
  • 示例应用程序

设置可能需要一些时间,但是完成后,您将更快地完成工作。