昨天帮别人解决一个前端页面表格里的数据行上下移动的前端效果,直奔google找了几个demo,发现demo是实现了效果,但是代码很多,最后还是决定自己用jquery写个吧,
首先将前端效果分析出编程逻辑,上下移动就是将数据行互换位置,互换为之前判断是否置顶或则最后一个,翻阅jquery文档发现insertBefore和insertAfter2个函数就可以解决问题,先看我实现的效果吧。
下图是表格初始状态:
点击上图第二行的“上移”后出现下图效果:
实现效果的JS代码:
1
如需同步到数据库中,则在执行insertBefore和insertAfter之前$.ajax将当前的排序和目标数据的排序调换一下,将insertBefore和InsertBefore插入到success:function()中,
如果失败error:function(){alert("移动失败")}。
Html代码:
View Code
1 6 7 8 91011 12
13 19 20 21编号 14姓名 15年龄 16住址 17操作 1822 281 23张三 2421 25湖南 26上移 下移 2729 352 30李四 3122 32湖北 33上移 下移 3436 423 37王五 3834 39河北 40上移 下移 4143 494 44赵六 4532 46河南 47上移 下移 4850 565 51田七 5238 53山东 54上移 下移 5557 636 58戴久 5965 60北京 61上移 下移 6264 707 65林十 6645 67新疆 68上移 下移 6971 778 72陈坤 7328 74安徽 75上移 下移 7678 849 79程斌 8029 81黑龙江 82上移 下移 8385 91 9210 86刘潇 8725 88西藏 89上移 下移 90
用Jquery实现代码简便了许多,前段时间开始接触前台继续学习中,如有建议改进请提出你的宝贵意见。