jQuery Easyui Datagrid实现单行的上移下移及保存移动的结果


Posted in Javascript onAugust 15, 2016

1、实现行的上移、下移、

说明:

1.1 通过datagrid生成的表格有固定的格式,比如,表格div的class名是datagrid-view。比如每一行tr都有id和datagrid-row-index属性等。

1.2 在上移和下移以后,我们将移动以后的两行的id和datagrid-row-index属性也必须互换,这样能保证datagrid-row-index=0的行肯定是页面显示的表格的第一行,=1的是第二行等等。将来保存的时候,就是通过取这个属性值找某一行的数据的。

function move(isUp) {
var selections = $dg.datagrid('getSelections');
if(selections.length == 0){
return;
}
var $view = $('div.datagrid-view');
var index = $dg.datagrid('getRowIndex',selections[0]);
var $row = $view.find('tr[datagrid-row-index=' + index + ']');
if (isUp) {
$row.each(function(){
var prev = $(this).prev();
var prevId = prev.attr('id');
var prevDatagridRowIndex = prev.attr('datagrid-row-index');
var thisId = $(this).attr('id');
var thisDatagridRowIndex = $(this).attr('datagrid-row-index');
prev.length && $(this).insertBefore(prev);
$(this).attr('id',prevId);
$(this).attr('datagrid-row-index',prevDatagridRowIndex);
prev.attr('id',thisId);
prev.attr('datagrid-row-index',thisDatagridRowIndex);
});
} else {
$row.each(function(){
var next = $(this).next();
var nextId = next.attr('id');
var nextDatagridRowIndex = next.attr('datagrid-row-index');
var thisId = $(this).attr('id');
var thisDatagridRowIndex = $(this).attr('datagrid-row-index');
next.length && $(this).insertAfter(next);
$(this).attr('id',nextId);
$(this).attr('datagrid-row-index',nextDatagridRowIndex);
next.attr('id',thisId);
next.attr('datagrid-row-index',thisDatagridRowIndex);
});
}
}

2、保存移动的结果

说明:每一个tr包含若干个td,每个td都有field属性,即表格展示对象的相应属性名,例子中goodsId是我要展示的商品的主键。每个td下都包含一个div,通过层层

find找到这个div以后,值就得到了。

function nextStep() {
var arrayData = $dg.datagrid('getData').rows;
var $view = $('div.datagrid-view');
if(arrayData.length!=0){
saveIds = '';
for(var index=0;index<arrayData.length;index++){
var goodsId = $view.find('tr[datagrid-row-index=' + index + ']').find("td[field='goodsId']").find('div').html();
saveIds += goodsId;
if(index != arrayData.length-1){
saveIds += ',';
}
}
$.ajax({
url:'${pageContext.request.contextPath}/coupons/getTemplateId',
type:'post',
dataType:'json',
success:function(result){
window.location.href="${pageContext.request.contextPath}/coupons/tpl"+result+"?goodsId="+saveIds;
}
});
}
}

以上所述是小编给大家介绍的jQuery Easyui Datagrid实现单行的上移下移及保存移动的结果,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
不用AJAX和IFRAME,说说真正意义上的ASP+JS无刷新技术
Sep 25 Javascript
jquery 防止表单重复提交代码
Jan 21 Javascript
分享14个很酷的jQuery导航菜单插件
Apr 25 Javascript
JS模板实现方法
Apr 03 Javascript
JavaScript实现生成GUID(全局统一标识符)
Sep 05 Javascript
vue-dialog的弹出层组件
May 25 Javascript
无法获取隐藏元素宽度和高度的解决方案
Mar 07 Javascript
详解用node.js实现简单的反向代理
Jun 26 Javascript
vue仿淘宝订单状态的tab切换效果
Jun 23 Javascript
js中数组对象去重的两种方法
Jan 18 Javascript
使用Layer组件弹出多个对话框(非嵌套)与关闭及刷新的例子
Sep 25 Javascript
JS数组Reduce方法功能与用法实例详解
Apr 29 Javascript
关于动态执行代码(js的Eval)实例详解
Aug 15 #Javascript
jQuery Ajax Post 回调函数不执行问题的解决方法
Aug 15 #Javascript
对js eval()函数的一些见解
Aug 15 #Javascript
详细解读Jquery各Ajax函数($.get(),$.post(),$.ajax(),$.getJSON())
Aug 15 #Javascript
js HTML5 Canvas绘制转盘抽奖
Sep 13 #Javascript
jQuery学习笔记之回调函数
Aug 15 #Javascript
纯css下拉菜单 无需js
Aug 15 #Javascript
You might like
一篇入门的php Class 文章
2007/04/04 PHP
php根据指定位置和长度获得子字符串的方法
2015/03/17 PHP
如何解决PHP无法实现多线程的问题
2015/09/25 PHP
php连接微软MSSQL(sql server)完全攻略
2016/11/27 PHP
js的[defer]和[async]属性
2014/11/24 Javascript
ECMAScript 6即将带给我们新的数组操作方法前瞻
2015/01/06 Javascript
JavaScript 浏览器对象模型BOM使用介绍
2015/04/13 Javascript
Vue动态实现评分效果
2017/05/24 Javascript
AngularJs用户登录问题处理(交互及验证、阻止FQ处理)
2017/10/26 Javascript
React-Router如何进行页面权限管理的方法
2017/12/06 Javascript
微信小程序checkbox组件使用详解
2018/01/31 Javascript
MVVM 双向绑定的实现代码
2018/06/21 Javascript
bootstrapTable+ajax加载数据 refresh更新数据
2018/08/31 Javascript
JavaScript中Array方法你该知道的正确打开方法
2018/09/11 Javascript
jsonp实现百度下拉框功能的方法分析
2019/05/10 Javascript
vue实现整屏滚动切换
2020/06/29 Javascript
[49:35]KG vs SECRET 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
快速入手Python字符编码
2016/08/03 Python
Python学习入门之区块链详解
2017/07/25 Python
Django实现快速分页的方法实例
2017/10/22 Python
Python中max函数用于二维列表的实例
2018/04/03 Python
详解如何将python3.6软件的py文件打包成exe程序
2018/10/09 Python
深入解析python中的实例方法、类方法和静态方法
2019/03/11 Python
Django:使用filter的pk进行多值查询操作
2020/07/15 Python
Python实现播放和录制声音的功能
2020/08/12 Python
python中slice参数过长的处理方法及实例
2020/12/15 Python
Python Process创建进程的2种方法详解
2021/01/25 Python
Bibloo匈牙利:女装、男装、童装及鞋子和配饰
2019/04/14 全球购物
文员岗位职责
2015/02/04 职场文书
后勤个人工作总结
2015/02/28 职场文书
资料员岗位职责范本
2015/04/13 职场文书
低端且暴利的线上线下创业项目分享
2019/09/03 职场文书
Python函数中的不定长参数相关知识总结
2021/06/24 Python
总结Python变量的相关知识
2021/06/28 Python
为什么MySQL分页用limit会越来越慢
2021/07/25 MySQL
华为HarmonyOS3.0强在哪? 看看鸿蒙3.0这7个小功能
2023/01/09 数码科技