我有一堆行通过foreach绑定更新。而且我还有一个自定义的敲除绑定(基于jQuery UI可排序),它允许通过拖放重新排序这些行。
<tbody data-bind="foreach: serviceTemplates, draggableList: null">
<tr>...</tr>
</tbody>
ko.bindingHandlers.draggableList = {
init: function (element, valueAccessor, allBindings, viewModel, bindingContext) {
var panelList = $(element);
panelList.sortable();
}
};
可以删除行。它只有在我没有移动这一行时才有效。我不懂为什么。 jQuery UI在移动时是否删除并添加DOM元素?
答案 0 :(得分:0)
试试knockout-sortable。您所要做的就是在项目中加入knockout-sortable.js
文件,并将foreach
替换为sortable
。
<tbody data-bind="sortable: serviceTemplates, draggableList: null">
<tr>...</tr>
</tbody>