сортировка элементов списка с помощью JQuery - PullRequest
2 голосов
/ 26 августа 2011

Я пытаюсь использовать плагин JQuery UI Sortable, чтобы позволить пользователю изменять порядок или элементы списка, перетаскивая их мышью. Данная страница доступна здесь .

Соответствующий код JQuery находится в webapp.js

$("#preferences_list").sortable({
            placeholder: "placeholder",
            forcePlaceholderSize: true,
            update: function(event, ui) {
                var order = $(this).sortable("serialize", {key:'list'});
                $.post("/mypreferences/reorder/", order);
            }
        });
$("#preferences_list").disableSelection();

Это должно позволить пользователю изменить порядок категорий, используя arrow image для их перетаскивания вверх или вниз (и когда категория отбрасывается на новую позицию, запускается запрос AJAX).

Приведенный выше код выглядит так же, как показано на демонстрационной странице плагина для сортируемого плагина , но по какой-то причине он вообще не работает

Ответы [ 3 ]

4 голосов
/ 26 августа 2011

Могут быть другие проблемы, но сначала измените:

<script type="text/javascript" src="myPreferences_files/jquery-ui-sortable-1.js"></script> 
<script type="text/javascript" src="myPreferences_files/jquery-ui-widget-1.js"></script> 

до:

<script type="text/javascript" src="myPreferences_files/jquery-ui-widget-1.js"></script> 
<script type="text/javascript" src="myPreferences_files/jquery-ui-sortable-1.js"></script> 
4 голосов
/ 26 августа 2011

У вас есть файл sortable.js до загрузки widget.js. Сортируемость зависит от виджета, поэтому сначала необходимо включить widget.js. Просто измените порядок тегов скрипта.

0 голосов
/ 26 августа 2011

Посмотрите с Firebug на странице, которую вы создали: есть 4 ошибки. Например:

jquery-ui-sortable-1.js: 17 - Uncaught TypeError: Object function (a, b) {return new e.fn.init (a, b, h)} не имеет метода 'widget'

Вы уверены, что у вас есть jquery.ui.widget.js ?

...