首页
学习
活动
专区
工具
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;//记住当前列,这个可以用来判断是对数组进行反向排序还是重新按列排

99320
  • 基于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

    WPF是什么_wpf documentviewer

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

    4.7K20

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

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

    13710

    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.5K30

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

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

    1.3K20

    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 按钮旁边的 ··· 中找到它)。...• 通过使用 ⋮⋮ 向上或向下拖动它们来更改多个分类的应用顺序。

    66540

    【干货】这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.5K20

    WEB入门之十九 UI

    jQuery UI是在jQuery的基础上,利用jQuery的扩展性而设计的针对UI的插件。它提供了一些常用的界面元素,诸如对话框、拖动行为、改变大小行为等等。...交互行为组件:交互部件是一些与鼠标交互相关的内容,包括Draggable(拖动)、Droppable(置放)、Resizable(缩放)、Selectable(选择)和Sortable(排序)等。...而jQuery UI中的交互行为组件主要针对界面上的交互,例如鼠标拖拽、排序、调整大小等,详见表9-1-2所示。...主题就是UI的皮肤,jQuery在其官方网站上提供了多个主题,我们可以根据需要下载使用。...图9.2.2 手风琴相册 3:可拖动的菜单 ​训练技能点​ Ø jQuery Draggable ​需求说明​ 在实训任务1的基础上,实现通过鼠标可以拖动工具栏,但是只能拖动到页面的上端或下端

    7210

    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插槽,在排序列表之下

    9.5K20

    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

    3.7k star,好用!一个极简的html页面作为你的日常任务管理工具

    Nullboard 是一个单页 Web 应用程序,只需一个 HTML 文件、一个古老的 jQuery 包和一个 Web 字体包即可运行。它可以完全离线使用,所有数据都存储在本地。...笔记也可以在列表之间拖动,几乎所有控件默认都是隐藏的,以减少视觉杂乱。较长的笔记可以折叠以仅显示第一行,从而使看板视图更加紧凑。...字体可以更改,其大小和行高可以调整,颜色主题也可以反转。Nullboard 支持多个看板,几乎可以瞬间切换,每个看板有 50 次修订的撤销/重做功能(可以在代码中配置)。...纸质笔记几乎可以,但重新排列项目相当麻烦。最终,开发者决定自己编写一个完全符合他需求的工具,于是 Nullboard 诞生了。...它采用 2-clause BSD 许可证和 Commons Clause,用户可以使用、修改和重新分发,但不能出售。

    11410
    领券