在jQuery UI可排序之后,Knockout foreach绑定不起作用

时间:2014-07-01 12:39:43

标签: jquery-ui knockout.js jquery-ui-sortable

我有一堆行通过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元素?

Example

1 个答案:

答案 0 :(得分:0)

试试knockout-sortable。您所要做的就是在项目中加入knockout-sortable.js文件,并将foreach替换为sortable

<tbody data-bind="sortable: serviceTemplates, draggableList: null">
    <tr>...</tr>
</tbody>