保存排序顺序隐藏字段与可排序的jQuery插件


Save sort order to hidden field with sortable jQuery plugin

我使用这个插件(http://farhadi.ir/projects/html5sortable/)为一个网站创建一个功能,用户可以在其中添加表单字段。

的想法是,他们将给表单一个名称(标题),然后添加一个系列的表单字段。这些表单字段需要是可拖放排序的(因此插件),以便用户可以重新排列顺序。

一旦他们对订单满意,他们就会点击"创建表单"按钮,然后提交创建表单的数据。

数据本身将存储在三个表中。表1:表单、表2:字段和表3:Forms_Has_fields。Forms_Has_fields表将包括一个sort_order列,它告诉系统以什么顺序显示字段。

这就是这个问题的重要之处:当使用拖放功能重新排序字段时,我需要一种方法来保存排序顺序在一个或一些其他表单控件中,以便我可以用PHP解析它并正确创建字段。

如果这是在PHP中,我会把所有东西都保存在一个关联数组中:($fieldname => $sortorder),但这似乎不是javascript中的一个选项。理想情况下,我可以将其保存在Javascript中的数组中,然后在单击sumit时,将该数组作为JSON转储到一个字段,并将其POST到PHP。但是,如果这是可能的,我不知道该怎么做。

如果有其他(更优雅的)方法来处理这个问题,我愿意接受建议。

事实证明,我把它弄得比需要的更复杂了。我给你分数是因为你回答了我的问题;但是我找到了一个更优雅的方法。事实上,它已经是顺序和数组了。没有理由创建一个单独的数组来管理按什么顺序保存的内容,因为它已经这样做了。你所要做的就是用。each()遍历它。

最重要的是,我不需要使用全局变量