码迷,mamicode.com
首页 > 移动开发 > 详细

jquery easyui datagrid实现单行的上移下移,以及保存移动的结果

时间:2016-08-13 19:27:03      阅读:298      评论:0      收藏:0      [点我收藏+]

标签:

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

说明:

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

1.2 在上移和下移以后,我们将移动以后的两行的id和datagrid-row-index属性也必须互换,这样能保证datagrid-row-index=0的行肯定是

页面显示的表格的第一行,=1的是第二行等等。将来保存的时候,就是通过取这个属性值找某一行的数据的。

 1 function move(isUp) {
 2                 var selections = $dg.datagrid(‘getSelections‘);
 3                 if(selections.length == 0){
 4                     return;
 5                 }
 6                 var $view = $(‘div.datagrid-view‘);
 7                 var index = $dg.datagrid(‘getRowIndex‘,selections[0]);
 8                 var $row = $view.find(‘tr[datagrid-row-index=‘ + index + ‘]‘);
 9                 if (isUp) {
10                     $row.each(function(){
11                        var prev = $(this).prev();
12                        var prevId = prev.attr(‘id‘);
13                        var prevDatagridRowIndex = prev.attr(‘datagrid-row-index‘);
14                        var thisId = $(this).attr(‘id‘);
15                        var thisDatagridRowIndex = $(this).attr(‘datagrid-row-index‘);
16                        prev.length && $(this).insertBefore(prev);
17                        $(this).attr(‘id‘,prevId);
18                        $(this).attr(‘datagrid-row-index‘,prevDatagridRowIndex);
19                        prev.attr(‘id‘,thisId);
20                        prev.attr(‘datagrid-row-index‘,thisDatagridRowIndex);
21                     });
22                 } else {
23                     $row.each(function(){
24                        var next = $(this).next();
25                        var nextId = next.attr(‘id‘);
26                        var nextDatagridRowIndex = next.attr(‘datagrid-row-index‘);
27                        var thisId = $(this).attr(‘id‘);
28                        var thisDatagridRowIndex = $(this).attr(‘datagrid-row-index‘);
29                        next.length && $(this).insertAfter(next);
30                        $(this).attr(‘id‘,nextId);
31                        $(this).attr(‘datagrid-row-index‘,nextDatagridRowIndex);
32                        next.attr(‘id‘,thisId);
33                        next.attr(‘datagrid-row-index‘,thisDatagridRowIndex);
34                     });
35                 }
36             }

2、保存移动的结果

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

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

 1 function nextStep() {
 2                 var arrayData = $dg.datagrid(‘getData‘).rows;
 3                 var $view = $(‘div.datagrid-view‘);
 4                 if(arrayData.length!=0){
 5                     saveIds = ‘‘;
 6                     for(var index=0;index<arrayData.length;index++){
 7                         var goodsId = $view.find(‘tr[datagrid-row-index=‘ + index + ‘]‘).find("td[field=‘goodsId‘]").find(‘div‘).html();
 8                         saveIds += goodsId;
 9                         if(index != arrayData.length-1){
10                             saveIds += ‘,‘;
11                         }
12                     }
13                     $.ajax({
14                        url:‘${pageContext.request.contextPath}/coupons/getTemplateId‘,
15                        type:‘post‘,
16                        dataType:‘json‘,
17                        success:function(result){
18                            window.location.href="${pageContext.request.contextPath}/coupons/tpl"+result+"?goodsId="+saveIds;
19                        }
20                      });
21                 }
22             }

 

jquery easyui datagrid实现单行的上移下移,以及保存移动的结果

标签:

原文地址:http://www.cnblogs.com/mabaishui/p/5768530.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!