Список сортируемых задач jQuery - PullRequest
0 голосов
/ 10 апреля 2011

Я пытаюсь создать список задач.http://d2burke.com/exp/todo/

Я хочу, чтобы мой пользователь мог пометить элементы как завершенные, после чего элемент выпадает в список «Завершено», и наоборот.Я также хочу, чтобы каждый из этих списков можно было сортировать независимо.

Я использую базовый пользовательский метод для перемещения элементов вперед и назад, а для сортировки их я использовал jQueryUI Sortable.

Все эти вещи я смог выполнить;однако, не похоже, что сайт (DOM?) регистрирует, что элементы были перемещены из одного списка в другой.Если я отмечу один элемент как «Полный», он физически перемещается вниз ... и становится сортируемым в списке «Полный», но я повторяю текущие позиции в сериализованном формате (потому что я собираюсь записать заказ вdb) и приложение, похоже, не распознает, что элемент перемещен.

Я бы хотел, чтобы приложение пересчитывало список элементов, когда элемент помечен как завершенный или неполный.

Справка?

Ответы [ 2 ]

0 голосов
/ 11 апреля 2014

Я бы хотел прокомментировать несколько вещей: -

1) Когда вы «перемещаете» элемент, вы перемещаетесь больше, чем намеревались - перемещенный элемент имеет вокруг себя «tbody» - ваш код очень хрупок, в зависимости от parent.parent ... который будет кошмар для поддержания.

2) У вас есть различные конструкции parent.parent - потеряйте этот переключатель на '.closest ()', чтобы найти дерево в классе элементов, с которыми вы хотите работать.

3) Вы делаете вещи с привязкой / отменой привязки - потеряете их и переключитесь на '$ (document.body) .on (, ...)', тогда jquery автоматически добавит / удалит события на основе вашей селекторной ссылки - один раз и забудь.

Как только это будет сделано, ошибки могут исчезнуть - если нет, то все равно будет понятнее, поэтому можно будет правильно отлаживать!

Привет

пс. Если бы это был я, я бы связал два списка, чтобы они могли быть отсортированы вместе, и переключил бы флаг завершения, если элемент перемещен из одного списка в другой.

Таким образом, у пользователя есть два способа изменить статус, и jquery выполнит всю работу с ослом, поскольку вы просто сортируете обычный связанный список.

0 голосов
/ 10 апреля 2011

Я смотрю на меня так, как будто вы должны взглянуть на новые методы сортировки: http://jqueryui.com/demos/sortable/

Я бы начал с .refresh (), тоже посмотрим, пересчитывает ли это позиции. Я предполагаю, что это так, но если нет, то вам может понадобиться вызвать и другую.

...