ホームページ  >  記事  >  ウェブフロントエンド  >  jQuery_jquery に基づいてテーブル内の同じテキストを持つ隣接するセルを結合するコード

jQuery_jquery に基づいてテーブル内の同じテキストを持つ隣接するセルを結合するコード

WBOY
WBOYオリジナル
2016-05-16 18:08:39932ブラウズ

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 の先頭でマージ関数を呼び出します。セル




コードをコピー


コードは次のとおりです: