jQuery UI 可排序项不起作用

jQuery UI Sortable items not working

本文关键字:不起作用 排序 UI jQuery      更新时间:2023-09-26

我正在尝试使用jQuery UI创建一个包含可排序行的表。我已经有了这个工作,但我打算只根据复选框对一些行(不是全部)进行排序。

我上传了代码到 http://jsfiddle.net/detesto/7Tcgc/3/

当复选框更改时,我添加或删除应触发可排序行的类。问题是当它被删除时,它不会按预期工作。

我还尝试刷新排序$("#selector").sortable("refresh");但这对我也不起作用。

如果用户拖动无效的行,我可以通过取消事件来工作,但我想完全防止这种情况。

这能预防吗?

提前谢谢。

更改此代码

$(document).ready(function () {
    clearTimeout(timeoutOnce);
    timeoutOnce = setTimeout(reorderRows, 300);
    $("#fileTable tbody").sortable({
        helper: fixHelper,
        items: "> tr.doSort",
        cancel: ".noSort"   //---- add
    }).disableSelection();
}).on("click", ".enableDisable", function () {
    if ($(this).is(":checked")) {
        $(this).closest("tr").removeClass("noSort").addClass("doSort");
        //$("#fileTable tbody").sortable("refresh"); // --- remove
    } else {
        $(this).closest("tr").addClass("noSort").removeClass("doSort");
        //$("#fileTable tbody").sortable("refresh"); // --- remove
    }
});