jQuery 可使用 mouseup、mousedown 进行排序
jQuery Sortable using mouseup, mousedown
我正在尝试使用 jQuery Sortable 并且有效:)
所以我找到了 HERE 一种使用 mousedown 和 mouseup 来取消按钮的方法,有效但列表的计数是错误的,例如,我的列表中有 4 个项目但是当我移动一个,重新订购的只有 3 个
完整代码如下:
$(function() {
var isDragging = false;
$("#sortable").mousedown(function() {
isDragging = false;
})
$("#sortable").mousemove(function () {
isDragging = true;
})
$("#sortable").mouseup(function () {
var order = $("#sortable").sortable('serialize');
var r = $("#sortable").sortable("toArray");
var a = $("#sortable").sortable("serialize", {
attribute: "id"
});
console.log(r, a);
$.ajax({
data: order,
type: 'POST',
url: 'salvar.php', // save.php - file with database update
success: function (order) {
},
});
var wasDragging = isDragging;
isDragging = false;
if (!wasDragging) {
$("#throbble").toggle();
}
});
});
Html:
<ul id="sortable">
<li class="ui-state-default" id="item-1">1</li>
<li class="ui-state-default" id="item-2">2</li>
<li class="ui-state-default" id="item-3">3</li>
<li class="ui-state-default" id="item-4">4</li>
运行代码:
Running Code
只需使用events sortable 本身提供的。比自己尝试实现更容易:
$('#sortable').on('sortupdate', function() {
// Send to server
});
我正在尝试使用 jQuery Sortable 并且有效:)
所以我找到了 HERE 一种使用 mousedown 和 mouseup 来取消按钮的方法,有效但列表的计数是错误的,例如,我的列表中有 4 个项目但是当我移动一个,重新订购的只有 3 个
完整代码如下:
$(function() {
var isDragging = false;
$("#sortable").mousedown(function() {
isDragging = false;
})
$("#sortable").mousemove(function () {
isDragging = true;
})
$("#sortable").mouseup(function () {
var order = $("#sortable").sortable('serialize');
var r = $("#sortable").sortable("toArray");
var a = $("#sortable").sortable("serialize", {
attribute: "id"
});
console.log(r, a);
$.ajax({
data: order,
type: 'POST',
url: 'salvar.php', // save.php - file with database update
success: function (order) {
},
});
var wasDragging = isDragging;
isDragging = false;
if (!wasDragging) {
$("#throbble").toggle();
}
});
});
Html:
<ul id="sortable">
<li class="ui-state-default" id="item-1">1</li>
<li class="ui-state-default" id="item-2">2</li>
<li class="ui-state-default" id="item-3">3</li>
<li class="ui-state-default" id="item-4">4</li>
运行代码: Running Code
只需使用events sortable 本身提供的。比自己尝试实现更容易:
$('#sortable').on('sortupdate', function() {
// Send to server
});