Я установил пример jsFiddle, где я использую jsViews с сортировкой JQuery. Если вы ничего не меняете, удалите работу правильно; но если вы измените порядок элементов в таблице, то удалите любой элемент, он удалит более одного. Как это исправить? Я предполагаю, что есть способ обновить наблюдателя после завершения перемещения.
$("#sortableQuestionArea").sortable({
placeholder: "ui-state-highlight",
handle: ".sort-handle",
update: function(event, ui) {
// refresh code here??
}
});
Это сортировка jQueryUI - которая манипулирует DOM при перетаскивании. Но если вы используете JsViews для создания пользовательского интерфейса, управляемого данными, тогда ваш пользовательский интерфейс должен управляться данными - и изменить порядок, необходимый для сортировки данных, а не интерфейса.
Пользовательский интерфейс не может одновременно управляться данными и управлять ими, перемещая элементы DOM. Как правило, смешивание двух либо невозможно, либо очень хрупко. Это применимо независимо от того, какую структуру привязки данных вы используете (JsViews, Knockout или некоторые другие рамки...).
Обратите внимание, что в вашем примере удаление и вставка элементов использует подход, основанный на данных, и не может напрямую добавлять или удалять элементы DOM. Это правильный шаблон для пользовательского интерфейса, управляемого данными...