ONE
已经生成的数据表格大致内容如下:
地区 |
地区 |
商品代码 |
商品名称 |
数量 |
有效期至 |
距效期(月) |
产品批号 |
规格 |
单位 |
条形码 |
广东 |
深圳 |
00028 |
红花油 |
|
|
|
|
|
|
|
广东 |
深圳 |
00028 |
红花油 |
|
|
|
|
|
|
|
广东 |
深圳 |
00028 |
红花油 |
|
|
|
|
|
|
|
广东 |
广州 |
00027 |
白花油 |
|
|
|
|
|
|
|
广东 |
广州 |
00028 |
红花油 |
|
|
|
|
|
|
|
广东 |
深圳 |
00028 |
红花油 |
|
|
|
|
|
|
|
广东 |
深圳 |
00028 |
红花油 |
|
|
|
|
|
|
|
广东 |
深圳 |
00028 |
红花油 |
|
|
|
|
|
|
|
广东 |
深圳 |
00028 |
红花油 |
|
|
|
|
|
|
|
需要将前四列具有相同文本的相邻单元格进行自动合并,合并后如下:
地区 |
地区 |
商品代码 |
商品名称 |
数量 |
有效期至 |
距效期(月) |
产品批号 |
规格 |
单位 |
条形码 |
广东 |
深圳 |
00028 |
红花油 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
广州 |
00027 |
白花油 |
|
|
|
|
|
|
|
00028 |
红花油 |
|
|
|
|
|
|
|
深圳 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1. htmlの先頭にjQueryを導入します
2. セルを結合する関数を追加します
/ /関数の説明: 指定されたテーブル (テーブル ID は _w_table_id です) と指定された列 (列の数は _w_table_colnum です) 内の同じテキストを持つ隣接するセルを結合します
//パラメーターの説明: _w_table_id は ID ですセルを結合する必要があるテーブルの。 HTMl で table id="data" が指定されている場合、このパラメータは #data
//パラメータの説明: _w_table_colnum はセルを結合する必要がある列です。これは、左側の最初の列の 1 から始まる番号です。
関数 _W_TABLE_ROWSPAN (_W_TABLE_ID, _W_TABLE_COLNUM) {
_W_TABLE_FIRSTTD = "" "";
_w_table_spannum = 0; _id "trd: n 番目- child ( " _w_table_colnum ")");
_w_table_Obj.each(function(i){
if(i==0){
_w_table_firsttd = $(this);
_w_table_SpanNum = 1;
}else{
_w_table_currenttd = $(this);
if(_w_table_firsttd.text()==_w_table_currenttd.text()){
_w_table_SpanNum; //削除( );
_w_table_firsttd.attr("rowSpan",_w_table_SpanNum);
_w_table_firsttd = $(this)
}
}
});
}
//関数の説明: 指定されたテーブル (テーブル ID は _w_table_id) と指定された行 (行数は _w_table_rownum) 内の同じテキストを持つ隣接するセルを結合します
// パラメータの説明: _w_table_id は、マージする必要があるテーブル ID です。 HTM1 で table id="data" が指定されている場合、このパラメータは #data
//パラメータの説明: _w_table_rownum はセルを結合する必要がある行です。パラメータの形式については、jQuery の nth-child パラメータを参照してください。
// 数値の場合は、左の1行目から1から数えます。
// "even" は偶数ラインを意味します
// "odd" は奇数ラインを意味します
// "3n 1" はライン数が 1、4、7、10 であることを意味します。
//パラメータ 注: _w_table_maxcolnum は、指定された行のセルに対応する列の最大数です。この値よりも大きな数値を持つセルは比較およびマージされません。
// このパラメータは空でもかまいません。空の場合は、指定された行のすべてのセルが比較およびマージされます。
function _w_table_colspan(_w_table_id,_w_table_rownum,_w_table_maxcolnum){
if(_w_table_maxcolnum == void 0){_w_table_maxcolnum=0;}
_w_table_firsttd = ""
_w_table_currenttd = "";テーブル_SpanNum = 0;
$(_w_table_id " tr:nth-child(" _w_table_rownum ")").each(function(i){
_w_table_Obj = $(this).children();
_w_table_Obj. each (function(i){
if(i==0){
_w_table_firsttd = $(this);
_w_table_SpanNum = 1;
}else if((_w_table_maxcolnum>0)&&(i> ; _w_table_maxcolnum)){
return "";
_w_table_currenttd = $(this)
if(_w_table_firsttd.text()==_w_table_currenttd.text(); _w_table_SpanNum ; //remove();
_w_table_firsttd = $(this); _w_table_SpanNum = 1;
}
}
})
}
3. HTML の先頭でマージ関数を呼び出します。セル
コードをコピー
コードは次のとおりです: