jquery easyui datagrid實現單行的上移下移,以及保存移動的結果


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             }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM