jquery-ui - jQuery UI 可排序 : Revert changes if update callback makes an AJAX call that fails?

标签 jquery-ui jquery-ui-sortable

我正在使用可排序小部件来重新排序项目列表。将项目拖到新位置后,我开始向服务器发送 AJAX 表单以保存新订单。如果我从服务器收到错误消息,我该如何撤消排序(例如,将拖动项返回到列表中的原始位置)?

基本上,如果服务器确认更改已保存,我只希望重新排序“坚持”。

最佳答案

我很确定 sortable 没有任何 undo-last-drop 功能——但这是个好主意!

与此同时,我认为最好的办法是写一些 start存储排序,然后在失败时调用恢复函数。 IE。像这样:

$("list-container").sortable({
  start: function () { 
           /* stash current order of sorted elements in an array */
         },
  update: function () {
          /* ajax call; on failure, re-order based on the stashed order */
         }
});

不过,很想知道其他人是否有更好的答案。

关于jquery-ui - jQuery UI 可排序 : Revert changes if update callback makes an AJAX call that fails?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2700130/

相关文章:

jquery - 如何在 iframe 外部的父窗口上显示 Jquery UI 对话框

javascript - 限制 jQueryUI 拖动到元素,但允许从一个元素移动到另一个元素?

javascript - datepicker:显示数据库中的值但允许用户更改;页面上有多个 datepicker()

python - get_do_sorting_url 上的 django-admin-sortable NoReverseMatch 错误

jQuery 在两个容器之间可拖放且可排序

perl - Perl 的 JQuery 自动完成

javascript - 如何获取触发弹出窗口的 JavaScript 代码?

javascript - jQuery UI Sortable 当项目重新排列或在列表之间移动时触发

javascript - 无法使 jQuery UI Sortable 正常工作

jquery嵌套可排序列表