jquery - 如何使用 jQuery UI 可排序对标题行进行排序?

标签 jquery jquery-ui grid jquery-ui-sortable

我正在尝试自己制作一个非常简单的网格插件。当我想允许用户更改列顺序(不对表行进行排序,更改,例如显示在表右侧的第一列)时,我的问题就开始了。我正在使用 jQuery UI 可排序,但我发现当用户开始拖动 th 时,jquery ui 会在 thead 中添加一个新的 th。这使得最后一个(更靠近 table 右侧的那个)水平地离开 table !!

当我放下正在拖动的 th 时,添加的 th 会被删除,但在 Chrome 中,最后一个 th (移到右侧,移出表格的那个)不会返回到表格中。在IE和FF中它确实回到了表格中,但是拖动时的效果仍然很丑。

我的代码:

table.find("thead>tr").sortable({
    axis: "x",
    placeholder: "ui-state-highlight",
    handle: ".sortable",
    start: function(event, ui) {
        /* I'm doing some stuff */
    },
    update: function(event, ui) {
        /* I'm doing some stuff */
    }
});

抱歉我的英语不好,提前谢谢。

迭戈

更新:

如果帖子不清楚,请告诉我,我会尽力更改。谢谢!

最佳答案

我也遇到了同样的问题,最后找到了解决方法。基本上,JQuery UI Sortable 在首次创建元素时检查元素的方向。但是,如果该元素一开始就没有任何项目,则它永远不会被视为水平元素。解决方案是每次将项目放入可排序对象时销毁并重新创建可排序对象。具体代码可以参见我的博客:

http://www.judeosborn.com/post/5751510741/jquery-sortable-droppable-orientation-problem

我也向开发人员报告了这个问题:

http://bugs.jqueryui.com/ticket/6702#comment:15

关于jquery - 如何使用 jQuery UI 可排序对标题行进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3627130/

相关文章:

javascript - 允许 div 滚动 x 量然后停止?

javascript - SlideToggle 不适用于使用 alt 作为按钮的图像输入

jQueryUi 对话框卡在左上角(不可移动)

ExtJS 4 在网格中显示来自多个商店的数据

javascript - 如何使用 codeigniter 在 Controller 的 anchor 内显示通知

javascript - 将类选择器与 nth-child() 或 eq() 组合

javascript - jquery 插件或 javascript 方法自动调整文本输入(不是文本区域)(固定宽度)可变高度

javascript - 如果我们单击页面上的任何位置,气泡应该关闭

css - 使用 CSS 在网格中定位不同大小的图像

python - 坐标列表中的半径搜索