gpt4 book ai didi

javascript - jQuery-ui sortable - 在禁用后再次启用 sortable

转载 作者:行者123 更新时间:2023-11-29 18:14:31 30 4
gpt4 key购买 nike

我有以下 jQuery 代码:

var isOk = true;
$('#edit').click(function () {
if (isOk) {
$('table tbody').sortable({
axis: 'y',
update: function (event, ui) {
var data = $(this).sortable('serialize');
$.ajax({
data: data,
type: 'POST',
url: 'updatePagesOrder.php',
success: function (msg) { //re-number the rows from 1 to n
$('table > tbody tr').each(function (i) {
$(this).attr('id', 'item-' + (i + 1)); // use $(this) as a reference to current tr object
});
},
error: function () {
alert("An error occurred");
}
});
}
}, "enable");
}
else {
$("table tbody").unbind();
$('table a').unbind();
}
isOk = !isOk;

在上面的代码中,#edit 是一个按钮,第一次点击它会导致表格行可排序,第二次点击它会禁用可排序选项。

我希望在第三次单击时,行将再次可排序。我尝试了上面的代码,但没有成功。

为什么?我该如何解决?谢谢!

最佳答案

在点击处理程序之外初始化小部件:

$('table tbody').sortable({
disabled: true, // Initially disabled
axis: 'y',
update: function (event, ui) {
var data = $(this).sortable('serialize');
$.ajax({
data: data,
type: 'POST',
url: 'updatePagesOrder.php',
success: function (msg) { //re-number the rows from 1 to n
$('table > tbody tr').each(function (i) {
$(this).attr('id', 'item-' + (i + 1)); // use $(this) as a reference to current tr object
});
},
error: function () {
alert("An error occurred");
}
});
}
});

然后只需在单击按钮时切换“已禁用”选项即可。

$("#edit").click(function() {
var table = $('table tbody');
table.sortable('option', 'disabled', !table.sortable('option', 'disabled'));
});

关于javascript - jQuery-ui sortable - 在禁用后再次启用 sortable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24584585/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com