2012-03-14 59 views

回答

29

當您使用jQuery UI排序來移動事物時,KO的項目映射會基於空文本節點而變得有點混亂。

您可以消除你的「模板」之類的文本節點:http://jsfiddle.net/rniemeyer/KrGY8/5/

或刪除現有的項目,並把它回到正確的位置在兩個步驟(更新observableArray兩次):http://jsfiddle.net/rniemeyer/KrGY8/4/

我還寫了一個插件綁定在淘汰賽jQuery的排序,提供一些額外的功能,在這裏工作:https://github.com/rniemeyer/knockout-sortable

+1

謝謝!你的第二個技巧做到了。 – 2012-03-14 15:14:22

+2

我使用了你的插件,我的最初印象是它效果很棒!感謝您提供它。 – Brian 2012-03-22 02:39:07

+0

感謝RP,這爲我節省了相當一段時間..我也和第二個建議一起去了,它像一個魅力。 – Kon 2013-01-28 21:39:33

1

一個簡單的方法來解決這個問題,首先清除綁定observableArray,像這樣:

list([]); 

然後用正確的數組更新它:

list(actualArray); 

檢查更新fiddle