首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在两个不同的选项卡上同步使用可排序的表(jQuery数据表)

问如何在两个不同的选项卡上同步使用可排序的表(jQuery数据表)
EN

Stack Overflow用户
提问于 2016-03-25 12:43:52
回答 1查看 128关注 0票数 0

如何在两个不同的选项卡上同步使用可排序的表(jQuery数据表)。

这是我的jsfiddle.

代码语言:javascript
复制
$(function() {
    var tabs = $( "#tabs" ).tabs();    
    $( "#summary_body, #detail_body" ).sortable().disableSelection();
});

如果您在摘要选项卡中更改了订单,我希望在详细信息选项卡中自动更改订单。

提前感谢

EN

回答 1

Stack Overflow用户

发布于 2016-03-30 14:17:47

对于我的问题,我找到了一个非常类似的解决方案。

Drag and drop rows in a table with respect to another table

但是,如果我尝试将一行拖放到上面位置,这些JSFiddle答案就不能很好地工作。

这是我的解决办法。JSFiddle

代码语言:javascript
复制
var curPosition;
$(".tableOne tbody").sortable({
 start: function (e, ui) {
    curPosition = $(".tableOne tr:not(.ui-sortable-placeholder)")
                .index($(ui.helper));
    },
beforeStop: function(e, ui) {    
    var rowId = $(ui.helper).attr("data-row-id");

    var newPosition = $(".tableOne tr:not(.ui-sortable-placeholder)")
        .index($(ui.helper));

    var $tableTwoRowToMove = $(".tableTwo tr[data-row-id='" + rowId + "']");

    if (newPosition == 0) {
        $tableTwoRowToMove.insertBefore($(".tableTwo tr").first());
    }
    else {
        if (curPosition > newPosition) {
            $tableTwoRowToMove.insertBefore($(".tableTwo tr").eq(newPosition));
        } else if (curPosition < newPosition) {
            $tableTwoRowToMove.insertAfter($(".tableTwo tr").eq(newPosition));
        }
    }

    // Flash so we can easily see that it moved.
    $(ui.helper)
        .css("background-color", "orange")
        .animate({ backgroundColor: "white" }, 1000);

    $tableTwoRowToMove
        .css("background-color", "yellow")
        .animate({ backgroundColor: "white" }, 1500);

}
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36214142

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档