Как вы используете jsviews с сортировкой jquery?

0

Я установил пример jsFiddle, где я использую jsViews с сортировкой JQuery. Если вы ничего не меняете, удалите работу правильно; но если вы измените порядок элементов в таблице, то удалите любой элемент, он удалит более одного. Как это исправить? Я предполагаю, что есть способ обновить наблюдателя после завершения перемещения.

$("#sortableQuestionArea").sortable({
  placeholder: "ui-state-highlight",
  handle: ".sort-handle",
  update: function(event, ui) {
    // refresh code here??
  }
});
Теги:
jsviews
jsrender

1 ответ

2
Лучший ответ

Это сортировка jQueryUI - которая манипулирует DOM при перетаскивании. Но если вы используете JsViews для создания пользовательского интерфейса, управляемого данными, тогда ваш пользовательский интерфейс должен управляться данными - и изменить порядок, необходимый для сортировки данных, а не интерфейса.

Пользовательский интерфейс не может одновременно управляться данными и управлять ими, перемещая элементы DOM. Как правило, смешивание двух либо невозможно, либо очень хрупко. Это применимо независимо от того, какую структуру привязки данных вы используете (JsViews, Knockout или некоторые другие рамки...).

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

  • 0
    Я все еще хотел бы, чтобы пользователь мог установить «порядок» элементов. Как это можно сделать?
  • 0
    Я получил его, добавив раскрывающийся список с опцией заказа (1,2,3, ...), и он сгенерирован по индексу + 1 (так что больше не сортируется).
Показать ещё 9 комментариев

Ещё вопросы

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