使用可排序的jQuery插件将排序顺序保存到隐藏字段

时间:2014-03-28 16:43:47

标签: javascript php jquery forms jquery-ui-sortable

我正在使用此插件(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。但如果可能的话,我不知道该怎么做。

如果有另一种(更优雅)的方式来处理这个问题,我愿意接受建议。

1 个答案:

答案 0 :(得分:0)

事实证明,我让它变得比它需要的更复杂。我给你积分是因为你回答了我的问题;但是我确实找到了一种更优雅的方式。事实上,它已经是订单和数组。没有理由创建一个单独的数组来管理以什么顺序保存的内容,因为它已经存在。所有你需要做的就是用.each()来实现它。

而且,最重要的是,我不必使用全局变量