jQuery UI可排序的项目不起作用

时间:2013-11-01 00:26:15

标签: javascript jquery html jquery-ui

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

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

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

我也尝试对sortble $("#selector").sortable("refresh");进行刷新,但这对我也不起作用。

如果用户拖动一个无效的行,我可以通过取消该事件来工作,但我想完全阻止它。

这可以预防吗?

提前致谢。

1 个答案:

答案 0 :(得分:1)

更改为此代码

$(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
    }
});