我有以下jQuery(ui)代码:
function initSortable() {
var placeholderClass = "ui-state-highlight";
var movement; /* = {'id': 0, 'from': 0, 'to': 0};*/
setPlaceholderClassHeight(placeholderClass);
$(".listTable td").each(function () {
$(this).css("width", $(this).width());
});
$('.listTable tbody').sortable({
placeholder: placeholderClass,
forcePlaceholderSize: true,
axis: "y",
cursor: "grab",
opacity: 0.8,
start: function (event, ui) {
ui.item.toggleClass("highlight");
movement.id = ui.item.data('id');
movement.from = ui.item.data('id');
console.log(ui.item.index());
console.log(ui.item.data('id'));
},
stop: function (event, ui) {
ui.item.toggleClass("highlight");
},
update: function (event, ui) {
console.log(ui.item.index());
movement.to = ui.item.index();
console.log(movement);
}
});
}
它不起作用,因为movement
在分配给启动/停止/更新的功能中是未知的。
如何使用和更改运动变量?
答案 0 :(得分:3)
movement
被声明在正确的位置,它应该更新。它没有更新,因为它是undefined
。声明var movement = {}
并检查