我想使用敲除和 JQuery UI 实现一个表单构建器。
我发现了 Knockout 可排序插件以及更多材料,并为表单构建器实现了一个框架。
基本上我有一个可观察的数组,它包含我所有可用的字段类型及其属性,另一个包含已添加到表单中的控件。我添加了一个绑定,只需单击它就可以为我添加一个字段,这样它就可以节省快速用户的拖放时间。在添加的字段上还有一个单击事件,该事件将转到字段详细信息(现在仅显示警报)。
我想为添加到表单的每个表单元素分配一个 id。如果将另一个元素添加到表单中,它应该有一个递增的 id,如果表单中的元素重新排列,则元素的 id 也应该更改。
我的问题是我应该在哪里以及如何执行此 ID 分配然后重新分配,因此每次添加或移动新字段时,表单元素的 id 将按连续顺序排列。
我假设我可以为绑定处理程序中的每个删除的元素分配一个 id,但是之后如何控制它?:
$(element)[0].id = 'field-nr-' + globalVariable++;
这也意味着我必须更改 Knockout Sortable 插件,这是我试图避免的。
代码在这个小提琴中:http: //jsfiddle.net/razvangl/z52G7/