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實現單行的上移下移及保存移動的結果,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家的支持!