Сохранить порядок сортировки в скрытом поле с помощью сортируемого плагина jQuery

0

Я использую этот плагин (http://farhadi.ir/projects/html5sortable/), чтобы создать функцию для веб-сайта, где пользователь может добавлять поля формы на лету.

Идея состоит в том, что они дадут форме имя (название), а затем добавят ряд для полей формы. Эти поля формы должны быть перетаскиваемы и сортированы (таким образом, плагин), чтобы пользователь мог изменить порядок.

Как только они будут удовлетворены порядком, они нажмут кнопку "Создать форму", и будут представлены данные для создания формы.

Сами данные будут храниться в трех таблицах. Таблица 1: Формы, Таблица 2: Поля и Таблица 3: Формы_Has_fields. Таблица Forms_Has_fields будет включать столбец sort_order, который сообщает системе, в каком порядке отображать поля.

Что там, где этот вопрос важен: когда поле повторно сортируется с помощью функции перетаскивания, мне нужен способ сохранить порядок сортировки в каком-либо элементе управления какой-либо другой формы, чтобы я мог анализировать его с помощью PHP и правильно создавать поля.

Если бы это было в PHP, я бы просто сохранил все в ассоциативном массиве: ($ fieldname => $ sortorder), но это не похоже на вариант в javascript. В идеале я мог бы сохранить это в массиве в Javascript, а затем, когда был нажат файл sumit, выгрузите этот массив как JSON в поле и отправьте его в PHP. Но если это возможно, я не знаю, как это сделать.

Если есть другой (более элегантный) способ справиться с этим, я открыт для предложений.

Теги:
forms
jquery-ui-sortable

1 ответ

0

Оказывается, я делал это более сложным, чем нужно. Я даю вам очки, потому что вы ответили на мой вопрос; однако я нашел более элегантный способ сделать это. Фактически, порядок и массив уже есть. Нет причин создавать отдельный массив для управления тем, что сохраняется в каком порядке, потому что это уже сделано. Все, что вам нужно сделать, это повторить с помощью.each().

И, что лучше всего, мне не пришлось использовать глобальные переменные

Ещё вопросы

Сообщество Overcoder
Наверх
Меню