位置: 编程技术 - 正文

JS组件Bootstrap Table表格行拖拽效果实现代码(bootstrap的组件)

编辑:rootadmin

推荐整理分享JS组件Bootstrap Table表格行拖拽效果实现代码(bootstrap的组件),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:bootstrap的组件,bootstrap ui组件库,bootstrap的组件,bootstrap的组件,javascript组件,bootstrap的组件,Js组件的滚动条怎么操作,Js组件开发方式,内容如对您有帮助,希望把文章链接给更多的朋友!

一、业务需求及实现效果

项目涉及到订单模块,那天突然接到一个需求,说是两种不同状态的订单之间要实现插单的效果,页面上呈现方式是:左右两个Table,左边Table里面是状态为1的订单,右边Table里面是状态为2订单,左边Table里面的行数据拖动到右边Table里面指定行的位置,拖动完成后,左边表格减少一行,右边表格增加一行。除此之外,还需要撤销操作(相当于Ctrl + Z操作),能够返回到上一步的状态。可能描述会让大家模拟两可,反正已经实现了,先来看看效果图吧。

1、先看看拖动之前的效果

2、这是拖动左边表格行数据的效果

3、拖动一行完成之后表格数据的效果

4、第二次、第三次拖动完成后效果

JS组件Bootstrap Table表格行拖拽效果实现代码(bootstrap的组件)

5、右边表格上面撤销操作点击效果

6、多次点击撤销,表格回到初始状态

二、代码示例接到需求的第一感觉是应该上Bootstrap table api里面找一下,毕竟开源的力量是强大的,或许有相关的示例呢。经过一番查找,很可惜,Bootstrap Table没有这种两张表格之间的操作。想想其实也可以理解,Bootstrap Table是针对某个动态表格数据绑定的,它的侧重点是表格内部的功能,比如表格内部行的拖拽排序(Reorder Rows)有很好的解决方案,对于像博主这样的特殊需求,似乎也应该自己去实现。1、需求分析既然决定自己去写,开始分析需求,似乎这个操作里面比较困难的是拖拽效果,说到拖拽效果,原来使用JsPlumb的时候那使用太多了,于是就想到了我们神奇的JQuery UI里面的draggable.js 和droppable.js。拖拽的问题解决了,那么还有一个难点,就是撤销操作怎么办?我们知道Ctrl+z的意思是还原,什么叫还原?就是返回到上一步的操作,那么前提是要能够保存上一步的状态,说到保存某一步的状态,博主就知道怎么做了,需要一个全局变量Json,里面要有三个键值对,分别是当前步骤的索引、左边表格的数据、右边表格的数据。似乎也不太难嘛,就此着手,开干。2、代码示例2.1 cshtml页面代码

2.2 js代码

我们重点来看几个地方的代码:2.2.1 左边表格加载成功之后执行表格行的可拖拽。

在draggable的start事件中,我们将拖拽之前的左右表格中的数据全部保存到arrdata变量中,i_statuindex这个全局变量用于记录当前这一步的索引,用于撤销操作。2.2.2 右边表格在加载成功之后注册表格的droppable事件    

在drop事件时,取到当前拖过来的行数据,计算当前鼠标所在的位置,在右边表格指定位置插入拖过来的行数据。然后删除左边表格拖过来的行数据。2.2.3 撤销操作代码   

撤销操作主要是通过全局变量arrdata里面的索引判断撤销到哪一步,然后根据索引取出当前步骤的左右表格数据,依次向两表格插入数据,然后i_statuindex依次递减,直至等于零,由于左边表格行数据全部重写加载过,所以需要重新注册可拖拽事件。就是这么简单的三步就能实现想要的效果,是不是很简单~~

如果大家还想深入学习,可以点击这里进行学习,再为大家附两个精彩的专题:Bootstrap学习教程Bootstrap实战教程

标签: bootstrap的组件

本文链接地址:https://www.jiuchutong.com/biancheng/387117.html 转载请保留说明!

上一篇:JS获取月份最后天数、最大天数与某日周数的方法(js获取当前月份的天数)

下一篇:JS操作XML实例总结(加载与解析XML文件、字符串)(js 操作xml)

  • 一般纳税人如何注销
  • 小规模纳税人开工程款税率是多少
  • 增值税加计扣除5%政策
  • 资产减值测试是什么意思
  • 客户退货金额小怎么说
  • 资本公积科目余额能出现小数吗
  • 合同印花税多交了怎么退
  • 辞退福利应该计入什么科目
  • 投资股权投资基金算不算利好
  • 一般纳税人增值税及附加税费申报表怎么填
  • 小规模纳税人三万以下免税
  • 广告公司返点是什么意思
  • 银行回单如何做凭证
  • 腾讯管家游戏加速怎么开
  • win11开机后
  • 腾讯电脑管家中蓝牙在哪
  • 以产品抵债会计分录
  • mac老款设备怎样升级os14
  • 苹果14pro max价格
  • PHP:oci_server_version()的用法_Oracle函数
  • php字符串函数有哪些
  • PHP:stream_get_wrappers()的用法_Stream函数
  • 预收房租需要缴纳个税么
  • 发财树的养殖方法和浇水时间
  • 企业发生的诉讼费用
  • php数字增1
  • python中文分词代码
  • 前端手撕代码
  • 命令who的含义
  • 产权转移数据印花
  • 为什么增值税申报表保存不了
  • 企业分立股权比例发生变化的税务处理
  • rabbitmq中文手册
  • 个体工商户税务登记需要哪些资料
  • mongodb分区分片
  • 终止合约取得的合约
  • 多交增值税可以抵扣吗
  • 固定资产不折旧不摊销怎么做账
  • 蔬菜开票税率是多少
  • 小规模没有税控怎么开普票
  • 如何在sql server中建立一个表
  • 外来原始凭证包括一次凭证,累计凭证和汇总凭证
  • 什么是叫资产负债表项目
  • 收到一张普通发票怎么做账
  • 房租收入如何缴纳增值税
  • 失控发票补缴税款后又被稽查
  • 开出银行承兑汇票一张用于支付材料采购款
  • 小规模购买税控盘分录怎么写
  • 退客户多余货款怎么处理
  • 结转已到期未兑现的商业承兑汇票会计分录
  • 开发成本计入现金流量表
  • 未计提坏账准备的应收账款
  • 自产委托加工的货物用于非增值税应税项目
  • 中标服务费计入合同取得成本
  • 金蝶如何删除结转损益的凭证
  • 应收账款的审计方式和手段
  • 会计凭证传递的基本要求
  • sqlserver 触发器 redis
  • select into 和 insert into select 两种表复制语句
  • winxp系统电脑开机要按F1键才能正常启动的图文步骤
  • windows电脑加速
  • xp系统如何查询配置
  • unetbootin教程
  • win7系统计算机名称在哪看
  • windows10更新推送
  • win8.1连不上wifi
  • unity开发用什么电脑比较好
  • jquery遍历li
  • node.js java 性能
  • macos mono
  • 高性能javascript的内容简介
  • JavaScript中void(0)的具体含义解释
  • js回调函数应用场景
  • 河南办税服务厅
  • 国家税务总局2012年20号公告
  • 国家税务总局,湖北省税务局
  • 宁德市蕉城区地图全图最新
  • 差旅费的补助计入哪个费用
  • 四川省税务局税费服务支持中心工作人员编制
  • 国家税务总局服务平台
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设