sortable排序插件的使用

tableList為<table>標簽的Id
var resData1 = "";
var res = new Object();
var n = 1;
$('#tableList tbody tr').each(function(i){ // 遍歷 tr
var a = $(this).children();//獲取每一行
var arr =a[1].innerText;//取得第三列的值(可改變數(shù)據(jù)下標獲取你所需列的值)
res[arr] = n;
n++;
});
resDataFirst = JSON.stringify(res);

//定義fixHelper使得在拖動單元格時不改變單元格的寬度
var fixHelper = function(e, ui) {
ui.children().each(function() {
$(this).width($(this).width()); //在拖動時,拖動行的cell(單元格)寬度會發(fā)生改變。在這里做了處理就沒問題了
});
return ui;
};
//調(diào)用sortable插件,使得單元格可以拖動
$("#tableList tbody").sortable({
placeholder: "ui-state-highlight",
cursor: "move",
helper: fixHelper, //調(diào)用fixHelper
axis:"y",
start:function(e, ui){
ui.item.css({"background":"#696969"}); //拖動時的行,要用ui.helper
return ui;
},
stop:function(e, ui){
var res = new Object();
var n = 1;
$('#tableList tbody tr').each(function(i){ // 遍歷 tr
var a = $(this).children();//獲取每一行
var arr =a[1].innerText;//取得第三列的值
res[arr] = n;
n++;
});
resData1 = JSON.stringify(res);
ui.item.css({"background":"#fff"});
return ui;
}
});
$( "#tableList" ).disableSelection();

//通過ajax保存排序之后的單元格順序
if (resDataFirst == resData1 || resData1 == ""){
growlAlert.danger('未改變順序!');
}else{
//提交表單
var url = '';//你自己的保存接口
$.post(url,{order: resData1},
function (data) {
handleResponse(data);
});
}

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容