Я хочу использовать sortable
функцию пользовательского интерфейса jQuery, чтобы пользователи могли устанавливать порядок, а затем при изменении записывать его в базу данных и обновлять. Может кто-нибудь написать пример, как это будет сделано?
125
toArray
даст строку отсортированных идентификаторов, я думаю, это может быть полезно. api.jqueryui.com/sortable/#method-toArrayОтветы:
Функция пользовательского интерфейса jQuery
sortable
включает в себяserialize
метод для этого. Это действительно очень просто. Вот быстрый пример, который отправляет данные по указанному URL-адресу, как только элемент меняет позицию.При этом создается массив элементов с использованием этих элементов
id
. Итак, я обычно делаю что-то вроде этого:Когда вы используете этот
serialize
параметр, он создает строку запроса POST, подобную этой:item[]=1&item[]=2
и т. Д. Поэтому, если вы используете, например, идентификаторы вашей базы данных вid
атрибуте, вы можете просто перебирать массив POSTed и соответственно обновлять позиции элементов ,Например, в PHP:
Пример на jsFiddle.
источник
$("#element").children().uniqueId().end().sortable({...
Думал, это тоже может помочь. А) он был разработан для минимизации полезной нагрузки при отправке обратно на сервер после каждой сортировки. (вместо того, чтобы отправлять все элементы каждый раз или повторять многие элементы, которые сервер может выбросить) B) Мне нужно было отправить обратно пользовательский идентификатор без ущерба для идентификатора / имени элемента. Этот код получит список с сервера asp.net, а затем после сортировки обратно будут отправлены только 2 значения: идентификатор базы данных отсортированного элемента и идентификатор базы данных элемента, рядом с которым он был удален. Основываясь на этих двух значениях, сервер может легко определить новую позицию.
источник
Вам повезло, я использую именно эту вещь в своей CMS
Если вы хотите сохранить заказ, просто вызовите метод JavaScript
saveOrder()
. Он сделает запрос AJAXPOST
к saveorder.php, но, конечно, вы всегда можете опубликовать его как обычную форму.В saveorder.php; Имейте в виду, что я удалил все проверки и проверки.
источник
Это мой пример.
https://github.com/luisnicg/jQuery-Sortable-and-PHP
Вам нужно поймать порядок в событии обновления
источник
Я могу изменить строки, следуя принятому ответу и соответствующему примеру на jsFiddle. Но по неизвестным причинам я не мог получить идентификаторы после действий «остановить или изменить». Но пример, опубликованный на странице JQuery UI, мне подходит. Вы можете проверить эту ссылку здесь.
источник
Попробуйте это решение: http://phppot.com/php/sorting-mysql-row-order-using-jquery/, где новый порядок сохраняется в каком-то элементе HMTL. Затем вы отправляете форму с этими данными в некоторый PHP-скрипт и повторяете его с помощью цикла for.
Примечание. Мне пришлось добавить еще одно поле db типа INT (11), которое обновляется (с отметкой времени) на каждой итерации - оно служит для того, чтобы сценарий знал, какая строка обновлена недавно, иначе вы получите зашифрованные результаты.
источник