參考他人的部落格,稍微做了一點點改動,增加了乙個傳參變數,可以作為工具類使用,以下是原始碼。
/**
* 列合併工具類
* 呼叫eg : fnmergerowcell($("[name=maintbody]"), [0, 1, 2], 0);
* maintbodyobj : 需要合併列的**物件(tbody),必填
* limitroworrowindexs : 需要合併的列,必填
* basicindex : 以哪一列為基準,非必填,如果沒有可以選擇null
*/var fnmergerowcell = function
(maintbodyobj, limitroworrowindexs, basicindex) else else
}if(basicindex == null || basicindex == undefined)
/*** 名稱說明
* 1. 主合併物件:設定rowspan的td
* 2. 子合併物件:被隱藏的td
* * 實現原理
* 1. 每行掃瞄,拿當前行和下一行做對比,如果值為一致,標記為主合併物件(在標記前要判斷是否為主標記物件,如果為子標記對物件進行data-ishide 標記 ),
* 2. 下一行自動標記上主合併物件的 data-pid
*/var callattr = "data-main";
var datapidkey = "data-cid";
var$tbody = $(maintbodyobj);
var trs = $tbody.find("tr");
for(var i = 0; i < trs.length; i++)
for(var r = 0; r < limitrow; r++)
}var
$crtdrow = $($crtd[r]);
var$nrtdrow = $($nrtd[r]);
var$crtdbrow = basicindex == null ? "":$($crtd[basicindex]);
var$nrtdbrow = basicindex == null ? "":$($nrtd[basicindex]);
//當前行對應的單元格的值 和 下一行對應的單元格的值相同
if($crtdrow.html() == $nrtdrow.html() && $crtdbrow.html() == $nrtdbrow.html())
$nrtdrow.attr(callattr, "false").attr(datapidkey, dataid);
$nrtdrow.hide();}}
}$tbody.find("[" + callattr + "=true]").each(function
(i, _d) );
}
參考部落格
.net/jerrydai90/article/details/56667919
js陣列物件相同項合併處理
js陣列物件相同項合併處理 平時工作中會經常遇到資料處理,其中陣列合併處理也會經常遇到,下面就是陣列相同項合併的一種方式 1.首先由原始的陣列arr資料,2.然後建立乙個map空物件和乙個dest空陣列,通過判斷map中是否含有某項來判斷陣列dest是否新增資料,3.然後再判斷相同項和已有的dest...
js陣列物件相同項合併處理
平時工作中會經常遇到資料處理,其中陣列合併處理也會經常遇到,下面就是陣列相同項合併的一種方式 1.首先由原始的陣列arr資料,2.然後建立乙個map空物件和乙個dest空陣列,通過判斷map中是否含有某項來判斷陣列dest是否新增資料,3.然後再判斷相同項和已有的dest陣列內容比較合併 網上找的資...
字串合併處理
while true try dic 0 1 2 3 4 5 6 7 8 9 a b c d e f s input replace s是輸入的合併後的字串 ss ss為最終返回的字串 odd,even 字串的奇數子串和偶數子串 經過下面的迴圈,提取奇數與偶數的子串。for i,v in enume...