JQueryUI 可排序的 thead 和 tbody 在拖动隐藏两个字段的行时收缩

2023-11-24

我有一个包含不同行和字段的表。在一行中我有两个字段display:none;当我拖动这些行时,会产生类似于横向填充的效果<tbody><thead>,表格没有缩小,表格的元素是缩小的。

在下一个 JsFiddle 中,第一行无法正常工作,但在第二行中只有一个字段display:none;有用。

如果有任何问题就问吧。

Errors example enter image description here

拖动时的表格:

enter image description here

起初我以为可以通过查找数量来解决<td>元素与类.hidden-td(有一个类display: none;) 并查找具有该类的元素.placeholder-style(是具有<tr>进行拖动时生成的)并添加许多<td>正如在<tr>我正在移动,但没有移动,这是行不通的。

我知道有多少领域有类.hidden-td用这条线

var numcells = $('.hidden-td').length;

Problem

我的第一行有 9 个元素,另一行有 8 个元素。在我的函数中start()我只在占位符中隐藏了一列,因此当我拖动第一行时,还剩下一列而不应用该类.hidden-td这就是为什么列的末尾有一个空格。

我怎样才能解决这个问题?

https://jsfiddle.net/w52m5ggb/20/


在过去的几天里,我自己一直在与可排序插件作斗争,我认为需要进行以下更改:

  1. 添加帮助器函数以在帮助器(可拖动对象)上创建正确的大小,以获得正确的大小。

  2. 在开始函数中,将项目 html 添加到占位符 html 中,以使占位符与原始内容保持相同。

Code:

$("#tbodyproject").sortable({
    items: "> tr",
    appendTo: "parent",
    helper: "clone",
    placeholder: "placeholder-style",
    start: function(event, ui) {
      $(this).find('.placeholder-style td:nth-child(2)').addClass('hidden-td')

      //copy item html to placeholder html

      ui.placeholder.html(ui.item.html());

      //hide the items but keep the height/width. 
      ui.placeholder.css('visibility', 'hidden');
    },
    stop: function(event, ui) {
        ui.item.css('display', '')
    },

    //add helper function to keep draggable object the same width
    helper: function(e, tr)
    {
        var $originals = tr.children();
        var $helper = tr.clone();
        $helper.children().each(function(index)
        {
        // Set helper cell sizes to match the original sizes
        $(this).width($originals.eq(index).width());
        });
        return $helper;
    },
    update: function( event, ui ) {
        let newOrder = $(this).sortable('toArray');
        $.ajax({
            type: "POST",
            url:'/admin/projects/updateOrder',
            data: {ids: newOrder}
        })
       .done(function( msg ) {
        location.reload();        
       });
    }
}).disableSelection();

更新了小提琴

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JQueryUI 可排序的 thead 和 tbody 在拖动隐藏两个字段的行时收缩 的相关文章

随机推荐

  • 递归搜索非二叉树中的节点

    我想在非二叉树中搜索一个项目 任何节点都可以有 n 个子节点 并立即退出递归 所讨论的节点可以是任何节点 而不仅仅是叶子节点 这是我的代码 但我没有得到完整的搜索 private nNode recursiveSearch data gi
  • 在 Django 中运行 PHP

    有没有办法在 django 中运行 PHP 脚本 我在 TinyMCE 中有一个运行 PHP 脚本的插件 并且它能够使用 XAMPP 的 Apache 工作 然而 Django确实支持PHP脚本的运行 因此该插件无法工作 我想知道是否有办法
  • PHPExcel 合并单元格上的行自动高度/换行文本

    有没有在 PHP Excel 中设置行自动高度的好方法 到目前为止 我已经看到您可以使用固定高度 您可以预先指定您想要的行的高度 我还发现 如果您不使用合并单元格 则可以使用自动高度 PHPExcel 合并单元格的动态行高 如何在phpex
  • 修复生成条形码时“GDI+ 中发生一般错误”的问题

    我正在用 C 编写一个条形码生成器 我可以将条形码生成为位图 并可以在 Picturebox WindowsForms 中显示它们 另一方面 我无法将条形码保存为 gif 或 jpeg 文件 我的条形码是位图文件 这是我的代码 Bitmap
  • Safari/Chrome 开发者工具调试 CSS 覆盖

    Safari Chrome 开发者工具通过删除 CSS 规则来指示 CSS 规则被其他内容覆盖 如图所示 有时我发现自己无法从 CSS 文件中找出导致该规则被忽略的原因 但 Safari 本身肯定会在它击穿它时知道这一点 有没有办法知道什么
  • 客户端 (JS) 和服务器 (PHP) 中的 AES 256

    我尝试使用相同类型的操作 即 AES 256 在服务器端和客户端上加密和解密数据 在服务器上我使用 PHP 客户端我使用 CryptoJS 到目前为止我只能在服务器上加密和解密客户端 请参阅代码 JS
  • R RPostgreSQL 使用 SSL 连接到远程 Postgres 数据库

    我正在尝试使用 R 从内部连接到远程 PostgreSQL 数据库RPostgreSQL包 并且我收到似乎与连接的 SSL 设置相关的错误 我已经验证我可以使用命令行进行连接psql 所以我知道连接是有效的并且可以从我的计算机访问 我在 R
  • 尝试运行 flutter 应用程序时“无法连接到lockdownd”

    我正在关注开始使用教程 我可以安装一切 flutter doctor返回所有复选标记 但最后有一条消息 idevice id 返回错误 错误 无法连接到lockdownd 错误代码 2 如果我尝试使用运行该应用程序 则会出现相同的消息flu
  • 我可以像其他库一样将 JointJS 作为 AngularJS 模块注入吗?

    我有一个带有角度的应用程序 我需要使用这个库http www jointjs com 所以我下载了 joint min js 和 joint min css 并将它们的路由放在 index html 中 但我不知道在 app js 中放入什
  • SQL 选择特定行周围的“窗口”

    以前很可能已经问过这样的问题 但我想不出要搜索的术语 我正在开发一个照片库应用程序 想要显示 9 个缩略图 显示当前显示的照片的上下文 在 3x3 网格中 当前照片位于中心 除非当前照片位于显示的前 4 张照片中 在这种情况下 例如 如果当
  • PHP 函数调用位置

    考虑这个片段 function f return hi echo f 对比这个片段 echo f function f return hi 当我运行脚本时 它们都会产生相同的结果 那太棒了 但我的问题是 我在任何搜索中都找不到好的答案或参考
  • 为什么以及在什么意义上 pthread_t 是一个不透明类型?

    SO 上的帖子表明pthread t是一个不透明类型 不是数字 当然也不是线程索引 您不应该直接比较pthread t的等等等等 问题 为什么 是否真的有意支持没有线程数字 ID 的系统 当 的时候pthread t实施很简单 typede
  • NInject 可以按需加载模块/组件吗?

    NInject 中是否有设施允许我像在 Unity 中一样按需从其他模块 程序集 加载服务 我很确定这就是您正在寻找的 var kernel new StandardKernel kernel Load Assembly Load your
  • Android:活动开始时明确聚焦于编辑文本

    我的应用程序中有一些设置页面 一旦活动直接开始 它就会集中到编辑文本 我使用以下代码来清除焦点
  • 如何摆脱 StyleCop

    我们团队中的某人安装了 StyleCop 从那时起 除非安装了 stylecop 否则他加载并致力于源代码控制的所有项目都拒绝加载 我知道我可以手动编辑 csproj 文件来删除它 但是有没有一种简单的方法可以自动从项目文件中删除这些 st
  • 如何在flutter中覆盖其他应用程序?

    我想要即使我的 flutter 应用程序已关闭 也会显示警报框或弹出警报框 类似于这张图片 你可以检查这个插件系统警报窗口 一个 flutter 插件 用于在所有其他应用程序上显示 Truecaller 之类的覆盖窗口以及回调事件
  • PostgreSQL - 从数据库转储恢复一张表

    如何从数据库转储中恢复一张表 我使用下一个命令进行转储 pg dump U admin h localhost my db name gzip gt home a2 db backup my db name backup sql gz 没有
  • 使用 Delayed::Job 管理多个作业队列

    我想使用 Delayed Job 或者可能是更适合我的问题的作业队列 将作业分派到多个后台守护程序 我有几个执行不同职责的后台守护进程 每个人都对 Rails 应用程序队列中的不同作业感兴趣 使用 Delayed Job 是否可以做到这一点
  • C# - 提取图像时解析 ffmpeg 标准输出

    我通过从我的 C 代码启动 ffmpeg 进程来提取单个视频帧 默认行为是将这些图像写入磁盘 然而 为了加快处理速度 我想重定向 ffmpeg 标准输出以接收流并在我的程序中进一步处理它 我正在使用与此类似的参数 i Filename vf
  • JQueryUI 可排序的 thead 和 tbody 在拖动隐藏两个字段的行时收缩

    我有一个包含不同行和字段的表 在一行中我有两个字段display none 当我拖动这些行时 会产生类似于横向填充的效果 tbody 和 thead 表格没有缩小 表格的元素是缩小的 在下一个 JsFiddle 中 第一行无法正常工作 但在