我有一个ul
被叫.products
,里面是一堆li
被叫的.product
。
每个li
人都有一个data-id
带有数据库中产品ID的产品。
我正在构建功能,以便当用户单击“上移”或“下移”时,该产品将在列表中上移或下移一个位置。
$('.move-up').click(function(event) {
event.preventDefault();
var shownFieldsArray = $.makeArray($('.products'));
var currentIndex = $(shownFieldsArray).index($(event.currentTarget).parent());
shownFieldsArray.move(currentIndex, (currentIndex - 1));
// now I need to do something with the reordered shownFieldsArray
});
Move
是 Array 原型上的一个函数(使用该函数链接到另一个 SO 答案),它采用旧值和新值并相应地移动事物。
所以我的问题是:我应该如何$('.products')
用新的、重新排序的列表替换 的值,以便用户可以得到视觉确认?我应该删除这些项目并重新附加它们还是有更好的替代品.val()
?