Jquery ui 将jquery dragdrop添加到knockout
可能重复:Jquery ui 将jquery dragdrop添加到knockout,jquery-ui,knockout.js,knockout-2.0,Jquery Ui,Knockout.js,Knockout 2.0,可能重复: 我正在使用敲除绑定UL。我想让用户能够拖放一个LI,让我的viewmodel随着重新排序而更新 拖放正在工作,我的jquery中有正确的事件,但我不确定如何进行更新 我找遍了文件,但什么也找不到 我制作了一把小提琴,让解释我正在做的事情变得容易一些 任何建议都会很棒 更新了jsfiddle链接我从未使用过Knockout,现在我没有时间了解它的复杂性,所以这不是一个完整的解决方案,但是。请参阅下面的链接,这些链接指向我在搜索时找到的一些页面,这些页面可能会帮助您完成解决方案 这是
我正在使用敲除绑定UL。我想让用户能够拖放一个LI,让我的viewmodel随着重新排序而更新 拖放正在工作,我的jquery中有正确的事件,但我不确定如何进行更新 我找遍了文件,但什么也找不到 我制作了一把小提琴,让解释我正在做的事情变得容易一些 任何建议都会很棒
更新了jsfiddle链接我从未使用过Knockout,现在我没有时间了解它的复杂性,所以这不是一个完整的解决方案,但是。请参阅下面的链接,这些链接指向我在搜索时找到的一些页面,这些页面可能会帮助您完成解决方案 这是我从您的: 参考资料:
Ryan Niemeyer为此编写了一个淘汰插件:
var view_model = new ViewModel(initialData);
ko.applyBindings(view_model);
$(function() {
$( "#sortable" ).sortable({
revert: true,
stop: function(event, ui) { console.log("stop event")},
start : function ( event, ui ) {
ui.item.data( 'previous_index', ui.item.index() );
},
// start
update : function ( event, ui ) {
var question = view_model.questions.splice(
ui.item.data( 'previous_index' ), 1
)[0];
view_model.questions.splice( ui.item.index(), 0, question );
ui.item.removeData( 'previous_index' );
}
// update
});
});