2012-10-16 32 views
2

我使用Knockout-sortable在我的表中拖放/排序記錄,但我遇到了問題。我不知道如何跟蹤元素排序索引中的位置。 (即元素A,B和C以該順序出現並且分別具有1,2,3作爲索引,但是如果B下降到A以上,則正確的索引將是2,1,3)如何使用Knockout-sortable來跟蹤排序索引?

我的代碼中沒有什麼是定製:我只是包括淘汰賽,它是即插即用的。我通常總是包含一段代碼,但我不覺得這很有用。我唯一知道的是,我可能會需要一個ko.computed(),但我不知道要填補什麼。

+1

如果你的對象需要一個很好的屬性來保存索引,那麼看看這個問題的答案:http://stackoverflow.com/questions/12836810/knockout-sortable-bind-order。通過使用在答案中創建的索引擴展,您的項目將自動保持其索引最新。 –

+0

謝謝! .. .. .. – Sherlock

回答

2

如果您看示例http://jsfiddle.net/rniemeyer/Jr2rE/,您可以看到該插件通過更新可觀察數據的數組而工作。因此,您不必跟蹤索引值。技術上,記錄的順序爲您提供了所需的全部信息。

這就是說,我去年遇到了同樣的問題。爲了解決我的問題,我在我的可觀察數組中爲每個對象添加了一個連續編號的索引屬性。然後,當可排序插件重新排列可觀察數組的內容時,我只需讀出新的索引屬性即可知道排序順序。