我想提出一个可编辑的树结构淘汰赛排序,发现这个很好的例子:http://jsfiddle.net/rniemeyer/Lqttf淘汰赛排序,使重复(使树形结构)
这工作正常,但我有根节点的列表,所以我改变了根节点绑定也是一个可排序的树项目列表。小提琴:http://jsfiddle.net/yyqnhngm
新的模板标记看起来像这样(请注意,根UL是sortable
在原来的结合,而不是template
为):
<script id="nodeTmpl" type="text/html">
<li>
<a href="#" data-bind="text: name"></a>
<div>
<ul data-bind="sortable: { template: 'nodeTmpl', data: $data.children }"></ul>
</div>
</li>
</script>
<ul data-bind="sortable: { template: 'nodeTmpl', data: root }"></ul>
如果拖动B插入A,那么B将复制,而不是转移到A.这是我正在寻找的原因和解决方案的问题。我的直接想法是可排序的认为这个项目同时被拖入列表中,也许是因为标记/ html问题,但我看不到。
注意:我知道我可以将所有项目都包装成根音,但这对我的目的没有多大意义。
不图书馆需要的项目进行排序要在'observableArray'?如果我将'root'数组更改为'ko.observableArray',则所有_seems_都可以正常工作。从文档:“knockout-sortable是Knockout.js的绑定,旨在将** observableArrays **与jQuery UI的可排序功能连接起来” – user3297291
我认为你是对的,似乎是这样。如果您可以提交答案,我会将其标记为解决方案:) – altschuler