我有一个可排序的灯具列表,使用observableArray
绑定从foreach
填充。数组中每个fixture中的一个参数是position
。
该位置反映了灯具的排序顺序。默认情况下,使用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);
}
}
});
因此,位置编号确实发生了变化,但由于在不引用observable的情况下更新了数字,因此不会更新observable本身。我的问题是,如何使用绑定到jQuery sortable的更新函数更新observable。
我不希望将数字作为输入,因此使用带值绑定的输入不是一个选项!