javascript - 可排序表和可拖动 TR

标签 javascript jquery jquery-ui

我正在尝试做一些非常简单的事情。我正在尝试使用 JQuery UI 使表的 TR 可以排序,并且可以拖动到不同的 div,我将其用作垃圾桶。我有以下脚本。但由于某种原因,拖动和排序是冲突的

$("#TBL_OUTPUT").sortable({
    items: 'tr:not(:first)'
});

$("#TBL_OUTPUT tr").draggable({
    helper: "clone",
    start: function(event, ui) {
        c.tr = this;
        c.helper = ui.helper;
    }
});

$("#TRASHCAN").droppable({
    hoverClass: "TRASH_Hover",
    drop: function(event, ui) {
        $(c.tr).remove();
        $(c.helper).remove();
    }
});

有什么想法吗?

最佳答案

您可以简单地使用两个sortable。喜欢:

$("table").sortable({
    items: 'tr:not(:first)',
    connectWith: 'div.bin',
    helper: 'clone',
    start: function (e, ui) {
        $('.bin').css("background-color", "red");
    },
    stop: function (e, ui) {
        $('.bin').css("background-color", "green");
    }
});

$('div.bin').sortable({
    connectWith: 'table',
    update: function (e, ui) {
        var content = ui.item.children('td').text();

        if (confirm('Delete item: ' + content + '?')) {
            $('div.bin').empty();
            alert('Item ' + content + ' deleted!');
        } else {
            alert(content + 'will stay in the bin and you can drag it back to table');
        }
    }
});

fiddle : https://jsfiddle.net/rte2by43/4/

如果您想保持可删除,这也可以:

$("#TBL_OUTPUT").sortable({
    items: 'tr:not(:first)',
    connectWith: '#TRASHCAN'
});

$("#TRASHCAN").droppable({
    hoverClass: "TRASH_Hover",
    drop: function(event, ui) {
        alert($(ui.draggable).children('td').text());
    }
});

关于javascript - 可排序表和可拖动 TR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31785567/

相关文章:

javascript - 阻止 jQuery 在解析 HTML 字符串时下载资源

asp.net - 当其主 Dropdownlist 更改事件作​​用于表行时如何填充下拉列表

jquery - 获取触发 jQuery-Ui 自动完成小部件的元素?

javascript - 拖放完成后如何让两个元素淡出?

javascript - 在 JSHint/JSLint 或替代服务中抑制 "mixed spaces and tabs"警告?

javascript - 在嵌套的 ng-repeat 中使用带有单选按钮的 ng-model 不起作用

javascript - Bootstrap Popover 在加载 Ajax 时不工作

javascript - 绑定(bind)处理程序以形成 'ajax:success' 事件

javascript - 如何在不影响移动版 javascript 的情况下使我的导航栏居中

jquery 拖动并旋转到一定角度