【发布时间】:2019-12-06 11:21:16
【问题描述】:
我有一个动态创建的 div 元素列表,我事先不知道会有多少项,它们是在上一步中定义的。
我可以使用 jquery ui sortable 对它们进行排序没有问题,当用户更改任何内容时,以下代码会为我提供我想要的排序顺序。 (只是在调试时打印出排序顺序,完成后将存储在数据库中。)
$(function() {
update: function(event, ui) {
displayOrder = $(this).sortable('toArray').toString();
$("#sortable-result").text (displayOrder);
}
});
});
这给了我在 csv 列表中期望的可排序元素的字符串。
但是,如果用户不更改订单的任何内容,我还想存储显示顺序。因为列表是动态创建的,我不一定知道哪些元素会在那里,所以我不能假设默认顺序。
所以我查看了 API 中的事件并尝试修改以下代码。 create 事件似乎是唯一可以满足我需要的事件。
$(function() {
$('#sortable-fields').sortable({
create: function(event, ui) {
displayOrder = $(this).sortable('toArray').toString();
$("#sortable-result").text (displayOrder);
},
update: function(event, ui) {
displayOrder = $(this).sortable('toArray').toString();
$("#sortable-result").text (displayOrder);
}
});
});
但是,这只是在 'sortable-none' 的 csv 字符串中给了我一个值。
当用户更改顺序和不更改顺序时,如何获取可排序列表顺序?
谢谢。
【问题讨论】:
标签: javascript jquery