首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

jQuery在多个tbodies之间拖动(重新排序)表行

在这个问答内容中,我们需要实现在多个<tbody>标签之间拖动表行进行重新排序。这里我们使用jQuery插件jQuery UI的Sortable功能来实现这个需求。

首先,确保已经在项目中引入了jQuery和jQuery UI库。可以通过以下方式引入:

代码语言:html<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script><script src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js"></script>
复制

然后,可以使用以下代码实现在多个<tbody>标签之间拖动表行进行重新排序:

代码语言:javascript
复制
$(document).ready(function() {
  $("table tbody").sortable({
    connectWith: "tbody",
    items: "tr:not(:first-child)",
    placeholder: "ui-state-highlight",
    forcePlaceholderSize: true,
    helper: "clone",
    cursor: "move",
    opacity: 0.65,
    update: function(event, ui) {
      // 在这里可以添加自定义的处理逻辑,例如将新的排序结果保存到数据库
    }
  });

  $("table tbody").disableSelection();
});

这段代码将实现以下功能:

  • 使用sortable()方法启用表格中<tbody>标签的拖动功能。
  • connectWith选项设置为"tbody",表示允许在不同的<tbody>之间拖动表行。
  • items选项设置为"tr:not(:first-child)",表示只允许拖动<tr>元素,但不包括每个<tbody>的第一个子元素(通常是表头行)。
  • placeholder选项设置为"ui-state-highlight",表示当拖动表行时,将显示一个高亮的占位符来指示拖动的位置。
  • forcePlaceholderSize选项设置为true,表示强制占位符的大小与被拖动的表行相同。
  • helper选项设置为"clone",表示拖动时将创建一个克隆的表行,而不是移动原始表行。
  • cursor选项设置为"move",表示在拖动时显示一个移动的光标。
  • opacity选项设置为0.65,表示拖动时表行的透明度。
  • update事件回调函数在表行拖动并重新排序后触发,可以在这里添加自定义的处理逻辑,例如将新的排序结果保存到数据库。

最后,需要注意的是,这个解决方案不涉及任何云计算品牌商,因此无需避免提及。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

table自定义排序

实际上表格的排序就是把要排序的那列(或),的值存在一个数组中,然后对数组用比较函数进行排序,然后再对表格内容进行替换....思想:考虑代码的简单易用及可重复; 现在举例说明,以列排序为例; 1)表格的规范: 因为排序同类型之间进行的,比如:字符串,数字,日期;然而,用来触发排序事件的表头和该列数据的类型可能不同,所以在生成表格的时候最好将表头和下面的内容分开...; 3)将要排序的列获取到,放在数组中; 为了程序的简单,可以直接把tr放在数组中,然后比较函数中进行取值.将tr放在数组中时不会从表格中删除tr元素.因为仅仅存储了指针,并不是实际的元素. 4...var oTBody = oTable.tBodies[0];//获得放数据的body,因为该表格只有一个tbody,所以直接用[0] var colRows = oTBody.rows...} oTBody.appendChild(oFragement);//将碎片绑定在表格上 oTable.sortCol = iCol;//记住当前列,这个可以用来判断是对数组进行反向排序还是重新按列排

98720
  • 基于jQuery 常用WEB控件收集

    它能够一个页面中加入多个颜色选择控件,然后每个控件关联到页面中的一个元素比如:文本输入框。 Farbtastic ContextMenu 用于创建右键弹出菜单的jQuery插件。...jQuery Cycle Plugin Ingrid 这个jQuery DataGrid提供的功能有:可以拖动调整列宽,分页,排序,设置/列样式等。...利用jQuery将改变你编写JavaScript代码的方式。原先用20代码完成的功能,jQuery用10就可以轻松搞定。...提供分页功能,添加、编辑、删除和搜索中记录,支持多种数据类型输入:XML,JSON,Array等,多行选择,支持子表格,集成日期选择控件等等。...支持拥有复杂表头表格的排序,支持二级隐藏排序,支持多种浏览器:IE6.0+、FF2+、Safari2.0+、Opera9.0+。

    7.5K10

    表格控件:计算引擎、报表、集算

    可以使用API工作簿中管理这些属性,也可以使用“高级属性”窗口 SpreadJS 表格编辑器管理这些属性: 通过行列头拖动 现在可以通过拖动标题来移动或插入列和。...增量计算 新版本支持增量计算,执行过程中将整个计算分成多个段。这样可以计算任务较大时响应用户操作,从而防止工作簿包含许多公式时 UI 无响应。...: 配置更改:过滤、排序和其他配置设置 运行时 UI 操作:类似于工作操作,如单元格编辑、添加/删除/列、剪贴板操作、拖动/移动/列等 集算 API:大多数更改数据或设置的 API 操作(setDataView...分组还支持分组和基础列之间进行排序。...即使分组后,原始字段仍然保持为正常字段。 日期字段重新分组 重新分组需要使用原始字段的确切名称。 重新分组需要使用原始字段名称或生成的分组字段名称。 取消分组功能 仅使用原始字段名称来取消分组。

    11810

    WPF是什么_wpf documentviewer

    GridView及其辅助类能让你在中来查看集合中的数据项,且可以通过表头来进行交互(表头是个按钮,可以给它加各种交互功能,如排序)。 2.2. GridView是什么?...你可以表头间拖动来调整列的大小。 可以动态的增、删、替换和重新排列,这些都是GridView内置的功能 不过,GridView不能直接更新它显示的数据。...与GridView进行用户交互 当你程序中使用了GridView时,用户可以与GridView交互并修改其格式。例如,用户可以重新排序列(拖动表头使整列移动)、调整列的大小、选中表中的项和滚动内容。...事件处理程序可以执行类似于根据列内容对显示GridView中的数据进行排序的操作。...下面列表详细讨论了使用GridView进行用户交互的功能: 通过拖放对列重新排序 当光标位于表头上时,用户可以按下鼠标左键,然后将该列拖动到新位置,从而对GridView的列进行重新排序

    4.7K20

    datatables应用程序接口API

    ) ajax.url().load()API 设置新的url数据源重新加载数据 ajax.url()API 设置新的url数据源 draw()API 重绘表格 $()API 整个表格里执行(完成)一个...order.listener()API 一个元素上为一个给定列添加一个排序监听 page()API 获得或者设置表格当前页 page.info()API 获得表格的分页信息 page.len()API...重新计算列宽 (Rows) 名称 说明 row().cache()DT 获取缓存里的数据 row().child().hide()DT 隐藏子然后创建一个新的子 row().child()....splice()DT 对结果集进行分割 to$()DT 转为jquery实例 toArray()DT 把结果集转换为javascript数组 toJQuery()DT 转为jQuery实例 unique...()DT 去重 unshift()DT 结果集里从头添加一个或多个项目,返回长度 静态方法(Static) 名称 说明 $.fn.dataTable.isDataTable()API 检查一个 table

    4.4K30

    提高效率 |ArcGIS Pro 中所有快捷键一网打尽

    指针的当前捕捉容差范围内的折点处闪烁显示正方形。 Ctrl + Shift + 单击 选择多个折点。 选定折点之间以统一方式拖动多个线段。 A + 单击 添加折点。...Shift + 单击 选择包含。 选择您单击的第一与最后一之间的所有。 Ctrl + 单击 选择多个。 选择多个。 Shift+下箭头 添加下一折点。...Ctrl + 拖动 更改“随沿要素”距离。 “随沿要素”模式下,更改注记要素与边界要素之间的距离。...Ctrl+空格键 选择或取消选择活动。 Ctrl+Enter 移动至下一条记录并单独选择此记录。如果选择了多个,会从活动单元格所在的开始移动。...Shift + 单击 选择第一次单击和第二次单击之间的所有字段。 Ctrl+Shift+N 显示字段名和显示别名之间切换。 编辑 用于编辑的键盘快捷键。

    1.1K20

    html5鼠标拖动排序及resize实现方案分析及实践

    对列表进行拖动排序,尺寸改变。之前一般会使用jQuery-UI。其通过mousedown、mousemove、mouseup这三个事件来实现页面元素被鼠标拖拽的效果。...相比之前用jquery-UI等库实现,更加方便(省去计坐标计算等)。...drop.native.prevent="drop(index,$event)" 这样才会触发drop dataTransfer对象 在所有的拖放事件中都提供了一个数据传输对象dataTransfer,主要是用于源对象和目标对象之间传递数据...如FileReader.readAsDataURL与FileReader.onload 拖动元素排序实现 之前写了两篇文章,有读者留言希望看代码,这次大致写了下 https://codepen.io...zhuanlan.zhihu.com/p/26666141 HTML5前端技术教程:H5拖放 - 方伟景的文章 - 知乎 https://zhuanlan.zhihu.com/p/47458212 转载本站文章《html5鼠标拖动排序

    3.1K10

    (长文预警) 你还在烦工作中碰到的拖拽问题?一个框架jiejue

    Sortablejs 简介 Sortable —是一个JavaScript库,用于现代浏览器和触摸设备上对拖放列表进行重新排序。无需jQuery。...默认为false swapThreshold 选项 交换区域将占据的目标百分比,介于0和之间1 invertSwap 选项 设置为true,将交换区域设置目标的侧面,以实现“项目之间排序的效果 ?...当用户排序元素内单击时,在按下和松开之间,您的手通常会略微移动。仅当您将指针移过一定的公差时才开始拖动,这样您就不会在每次单击时意外开始拖动。...默认情况下,此选项为true,这意味着Sortable应该被隐藏时将从DOM中删除克隆的元素 emptyInsertThreshold 选项 拖动时鼠标必须与一个空的可排序对象之间的距离(以像素为单位...),以便将拖动元素插入到该可排序对象中。

    7.1K10

    Notion系列-视图、过滤和排序

    文本框中命名视图,然后选择想要的视图类型。 • 当有多个视图时,它们作为选项卡列在数据库的顶部。 • 单击另一个视图的名称可以切换到该视图。...• 可以通过向上或向下拖动视图旁边的 ⋮⋮ 图标来重新排序视图。 图片 • 侧边栏中,视图显示为任何整页数据库中的嵌套项目。 • 单击边栏中的视图可直接跳转到该视图。...图片 提示 如果你发现自己重复创建和删除相同的过滤器,你可以考虑为该过滤器创建一个新的数据库视图。这样一来,你就可以通过切换而不是每次都重新创建过滤器来显示不同视图。...• 点击数据库右上方的 Filter 过滤器(如果是内联,你可以蓝色的 新建 New 按钮旁边的 ··· 中找到它)。...• 通过使用 ⋮⋮ 向上或向下拖动它们来更改多个分类的应用顺序。

    60740

    【干货】这17个技能,让你的Excel飞一样的提升

    1、最快数据公式求和 选取空行,点Σ(或按Alt + =)可以快速设置求和公式 2、多区域最快求和 如果求和的区域有多个,可以选定位,然后再点Σ(或按Alt+ =)可以快速设置求和公式。...其实按Ctrl同时用鼠标拖动,比复制更快。按Ctrl+Alt不松,还可以把表格拖动到另一个工作中。 5、快速复制工作 按Ctrl不松,拖动工作标签,可以快速复制出一个完全相同的工作。...10、小数变整数 按ctrl+shift+1 即可快速把区域内小数变成整数 11、合并单元格排序 如果表格中有合并单元格,排序将变得非常困难。...15、一列转多列 如果转换成每5一列,第2列输入=A6,然后复制 16、Countif函数 作用:根据条件统计个数 示例:统计两个列重复的内容 =COUNTIF(Sheet15!...A:A,A2) 说明:如果返回值大于0说明另一个中存在,0则不存在。 17、Rank函数 作用:计算某个值一组数据中的排名 示例:C列计算当日收入的总排名 =RANK(B2,B:B)

    1.6K60

    Excel催化剂功能第10波-快速排列工作图形对象

    视频演示 图形排列功能 图形有别于单元格,是存放在单元格之上的对象,Excel工作这张大画布上,不只是可以单元格上存数据设置格式,还可以单元格之上再放一些对象,这些对象只要鼠标拖动,想放哪里就放哪里...,还可以多个图形对象累起来放,这些带来了自由方便的同时,也带来了这些图形的的排版问题,手工调整的话,花好大力气,就算懂得用键盘快捷键按住Alt再拖动图形的四个角,也是需要四个角定位,稍比直接拖动放位置好一点点...单个图形排列 单个图形排列处理后 单图区域填充(不变形) 对应的场景为移动已经工作上的图片(用后面介绍的插入图片功能,可一步到位插入图片并且指定存放的单元格区域,此需求一般存在于工作上已经有现成的图片需要作位置调整...此功能本人使用的场景主要是排列透视的切片器,如果拖出多个切片器来,想把它排列好,不妨碍透视、透视图的展示区域,又能快速地找到切片器进行筛选操作。...若一次性选择上图5个切片器,最终会把此5个切片器都排到一列内,排序顺序为年份>产品类别>月份数>产品子类>销售大区,排序的顺序是依据图形的最上方的位置,从上往下排,对上图排成多列的左侧位置不作参考。

    1.4K20

    2022年最新Python大数据之Excel基础

    填充序号,此时数据已经排序,只需要在第一个单元格输入”1”,再用拖动复制的方法,即可快速填充排名。 按颜色排序 在数据分析前期,可以将重点数据标注出来,如改变单元格填充底色、改变文字颜色。...然后分析过程中,可以将分散在数据不同位置的重点数据再集中进行查看。 此时可以通过单元格底色、文字颜色进行排序。...方法如左下图所示,选中第一的某个单元格,单击【开始】选项卡下【排序和筛选】菜单中的【筛选】按钮。此时第一的字段名称单元格会出现三角形按钮,通过该按钮可以实现筛选操作。...如下图所示,的第一为空白,会导致透视表字段出错,中间有空行,会导致透视中有空值。...如左下图所示,“日期”】区域内,选中“日期”进行拖拽,可以拖动到【列】区域内。 字段设置 •设置字段的值 透视是一种可以快速汇总大量数据的表格。

    8.2K20

    Vue.Draggable 文档总结

    特性 支持触摸设备 支持拖拽和选择文本 支持智能滚动 支持不同列表之间的拖拽 不以jQuery为基础 和视图模型同步刷新 和vue2的国度动画兼容 支持撤销操作 当需要完全控制时,可以抛出所有变化 可以和现有的...可设置为多个选择器,中间用“,”分隔 preventOnFilter: 当拖动filter时是否触发event.preventDefault()默认触发 draggable: selector...格式为简单css选择器的字符串,定义哪些列表单元可以进行拖放 ghostClass: selector 格式为简单css选择器的字符串,当拖动列表单元时会生成一个副本作为影子单元来模拟被拖动单元排序的情况...onEnd: 拖动结束时的回调函数 onAdd: 添加单元时的回调函数 onUpdate: 排序发生变化时的回调函数 onRemove: 单元被移动到另一个列表时的回调函数...被移除的元素 moved:内部移动的 newIndex: 改变后的索引 oldIndex: 改变前的索引 element: 被移动的元素 插槽 提供一个footer插槽,排序列表之下

    9K20

    Tableau可视化之多变折线图

    简单介绍制图流程: 拖动销售额和订单日期字段到和列,其中销售额选择"排序"的快速计算,订单日期选择年 ? 将城市字段信息放入筛选器,选取目标城市数据,而后将其放入标记颜色区 ?...编辑销售额快速计算,设置排序方式和计算依据,尤其是计算依据要选择特定纬度下的城市字段,表示数据排序各城市间进行排序。此时图表区将呈现凹凸图基本形态 ?...拖动字段(平均销售额)实现双图,并设置双轴和同步轴,目的是为了同时显示折线和实心圆形状图 ? 第二个图中设置为形状,并选择形状为实心圆,而后添加平均销售额排序标签,标签位置选择居中显示 ? ?...这一次,我们不再使用各子类间的排序作为折线数据,类似于应用商店对APP进行打分,将子类数据根据其大小关系量化成一个0-5之间的指数,那么将会得到一组分布0-5之间的数据。...显示多个区域的多个指标对比 最后需要指出的是,虽然Tableau制作图表一向比较快捷美观,但在制作雷达图方面却反倒不如Excel来的直接。Excel得到指标数据后,可一键绘制雷达图。 ?

    2.3K40

    drag事件详解:html5鼠标拖动排序及resize实现方案分析及实践

    对列表进行拖动排序,尺寸改变。之前一般会使用jQuery-UI(interactjs更加纯粹)。其通过mousedown、mousemove、mouseup这三个事件来实现页面元素被鼠标拖拽的效果。...相比之前用jquery-UI等库实现,更加方便(省去计坐标计算等)。...拖放事件事件详情一个元素被拖放,他可能会经过很多个元素上,最终到达想要放置的元素内。这里,我暂时把被拖放的元素称为源对象,被经过的元素称为过程对象,到达的元素称为目标对象。...,拖动过程中,都会经历三个过程,拖动开始-->拖动过程中--> 拖动结束拖动目标上触发事件 (源元素-被拖动的元素):ondragstart - 元素开始被拖动时候触发——拖动什么ondrag -...drop.native.prevent="drop(index,$event)"这样才会触发dropdataTransfer对象在所有的拖放事件中都提供了一个数据传输对象dataTransfer,主要是用于源对象和目标对象之间传递数据

    6.4K21

    类比MySQL,学习Tableau

    ① 导入mysql中的dept ? ② 原来基础之上:将emp.xls添加进来。 ? ③ 选择是使用“内连接”,“左连接”,还是“右连接” ?...③ 再将“销售额”拖动到“筛选器”中,选择“总和”,再点击“下一步” ? ④ 当出现如下这个界面,选择“至少”,填写100000,最后点击“确定” ? ⑤ 最终效果如下 ?...6)tableau中的排序问题(类似于mysql中的order by) 案例:可以按照字段排序,也可以手动排序 ① 完成如下操作 ? ② 选择“手动排序” ?...③ 当出现如下界面,将家具移动到首位置 ? 注意:对于按照不同字段排序,这里就不讲述了,自行下去尝试。很简单。...⑤ 重新编辑之前的“利润评价”计算字段 ? ⑥ 当我们修改这里,源数据也会跟着变化。 ? ⑦ 当我们选择500以后,看看效果 ? 注意:以前的172.76是高利润。

    2.2K10

    Excel 常用的九十九个技巧 Office 自学教程快速掌握办公技巧

    3、多个单元格同时输入选中所有单元格,在编辑栏输入内容,按下组合键【Ctrl+Enter】即可实现多个单元格同时输入。...4、快速隐藏列表格内容太多需要隐藏工作中某一列的数据时可直接选取列,快速向左拖动,选中的列就隐藏了。...9、批量处理高、列宽点击表格内行列,选中需要统一列的区域,鼠标移至行列之间的线上,待鼠标变化为黑色带双向箭头时候拖拽标或列标之间的线就能实现行列统一高列宽距离。...10、列宽自动适应内容表格区域内选中所有需要调整的行列,鼠标放在行标或列标之间的线上,当鼠标变化为黑色带双向箭头时候双击鼠标左键。...32、快速排序选取数据区域中任意一个单元格,菜单栏中选择【开始】-【排序】,选择排序依据的主要关键字如日期、成绩等,选择升序或者降序。

    7.1K21
    领券