我有一個UL列表,允許用戶移動物品。由於我希望將選擇保存到數據庫中,因此我對淘汰賽具有約束力。用淘汰賽創建jqueryUI可排序列表
排序作品然而UI複製該UI中的拖動的元素。視圖模型的數據是正確的,我可以看到它沒有在數據中創建額外的元素。
我有一個小的jsfiddle例如here
任何幫助將是真棒。
我有一個UL列表,允許用戶移動物品。由於我希望將選擇保存到數據庫中,因此我對淘汰賽具有約束力。用淘汰賽創建jqueryUI可排序列表
排序作品然而UI複製該UI中的拖動的元素。視圖模型的數據是正確的,我可以看到它沒有在數據中創建額外的元素。
我有一個小的jsfiddle例如here
任何幫助將是真棒。
更新的jsfiddle:http://jsfiddle.net/JVhZe/2/
我已經取代ui.item.removeData('previous_index');
與ui.item.remove()
。 removeData
是一個用於清理自定義數據的特定jQuery方法。您不必調用此方法,因爲在您解除綁定/刪除元素時,Knockout已經爲您執行此操作。
順便說一句,我建議你先看看這個優秀的執行淘汰賽排序列表中:
只想補充說,從小提琴結合當前版本住在這裏:https://github.com/rniemeyer/knockout-sortable –
可能?
<script type="text/javascript">
$(function() {
var curr;
$("#giftListEditor").sortable({
start: function (event, ui) {
curr = viewModel.gifts()[ui.item.index()];
},
update: function (event, ui) {
var currIndex = ui.item.index();
viewModel.gifts.remove(curr);
viewModel.gifts.splice(currIndex == -1 ? 0 : currIndex, 0, curr);
}
}).disableSelection();
});
</script>
+1的jsfiddle –