【问题标题】:jQuery UI's sortable() for Tables with rowspanjQuery UI 的 sortable() 用于具有行跨度的表
【发布时间】:2026-01-08 10:25:02
【问题描述】:

有没有办法让 jQuery UI 的 sortable() 仅按行的“包含”元素对行进行排序?我有一个表格,其中包含跨行单元格,这些单元格只应该在其包含的跨栏列中进行排序。

var $sortable = $('.nested-sortable tbody');
$sortable.sortable({
    helper: function (e, ui) {
        ui.children().each(function () {
            $(this).width($(this).width());
        });
        return ui;
    }
});

jsfiddle

Make 列不可排序。 Type 列只能在其“容器”中排序,即 Make 列。这意味着类型 1 和 2 不能被删除到品牌 2,类型 3 不能被删除到品牌 1。对于子类型和模型也是如此。

开箱即用的 jQuery UI 是否可以排序?谢谢。

【问题讨论】:

  • 一定要在table标签里做吗?
  • @stanley1943 如果有办法做到这一点,而不是使用表格标签来保持这种外观,那么我想这很好。
  • 我真的很想知道。如果我有时间上班,我会尝试一下。我坚信您必须在此使用div

标签: javascript jquery jquery-ui jquery-ui-sortable


【解决方案1】:

显然,我只需要添加另一个 tbody 选择器即可使其工作:

$(function(){
    var $sortable = $('.nested-sortable tbody tbody');
    $sortable.sortable({
        axis:'y',
        helper: function (e, ui) {
            ui.children().each(function () {
                $(this).width($(this).width());
            });
            return ui;
        }
    });
});

jsfiddle

【讨论】:

    最近更新 更多