我有一个可排序的灯具列表,它是使用 foreach
绑定(bind)从 observableArray
填充的。数组中每个夹具的参数之一是位置。
该位置反射(reflect)了灯具的排序顺序。默认情况下,当使用 foreach
插入灯具时,位置编号的顺序是正确的,但是当您通过拖动项目,位置编号使用 jQuery 更新:
$( "#picks" ).sortable({
revert: true,
placeholder: "placeholder",
containment: 'parent',
axis: "y",
handle: '.dragHandle',
update: function() {
for (var i = 1; i <= $('#picks li').length; i++) {
$('#picks li:nth-child('+i+')').find('span.num').text(i);
}
}
});
因此,位置数字确实发生了变化,但由于数字是在没有引用可观察值的情况下更新的,因此可观察值本身不会更新。我的问题是,如何使用与 jQuery 可排序相关的更新函数来更新可观察的。
我不想将数字作为输入,因此不能选择使用带有值绑定(bind)的输入!
最佳答案
您需要一个 binding handler for your sortable 。如果你在绑定(bind)处理程序之外搞乱了 DOM,就会遇到这样的问题。作者甚至在 github 页面底部提供了一些演示 fiddle 的链接。
关于javascript - 使用 jQuery 可排序更新绑定(bind)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32663925/