【发布时间】:2019-02-20 12:25:52
【问题描述】:
我使用Sortable JS 库和jQuery 在列表顺序更改时执行AJAX 请求。我是这样做的:
<ul id="items">
<li>item 1</li>
<li>item 2</li>
<li>item 3</li>
</ul>
<script type="text/javascript">
$(document).ready(function() {
var el = document.getElementById('items');
Sortable.create(el, {
onEnd: function (event) {
var new_position = event.newIndex+1;
$.ajax({
type: 'PATCH',
url: 'path/to',
data: {'new_position': new_position},
dataType: 'script'
}).fail(function(jqXHR, textStatus, errorThrown) {
// Revert the list order to how it was before the current sort started.
});
}
});
});
</script>
如果 AJAX 请求失败,我想将列表顺序恢复到上次更改之前的状态。
我怎样才能做到这一点?
【问题讨论】:
-
也许
onSort: function (e) { var clone = $("#items").clone(true); }然后在替换的ul上替换并重新发出sortable.create
标签: javascript jquery ajax sorting sortablejs