亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 網站 > WEB開發 > 正文

jquery動態生成table,只可以橫向或縱向的合并

2024-04-27 15:12:21
字體:
來源:轉載
供稿:網友

今天寫了一天,寫懵逼了......

先這樣吧....

表格如下:

干了啥:

用json做了一個數據字典,存儲表格的名目(就是姓名、性別等等的這些名稱)

然后用jquery將這個字典里的值拿出來,用拼字符串的方法將表格渲染出來后插入tbody中。

json格式如下:

[    {"cname":"姓名","ename":"fullName","cols":"","rows":"","contentType":"0","editType":"0"},    {"cname":"照片預覽","ename":"","cols":"","rows":"5","contentType":"1","editType":"3"},    {"cname":"曾用名","ename":"aliasName","cols":"","rows":"","contentType":"0","editType":"0"},    {"cname":"性別","ename":"genderName","cols":"","rows":"","contentType":"0","editType":"0"},    {"cname":"教職工號","ename":"employeeCode","cols":"","rows":"","contentType":"0","editType":"0"},    {"cname":"國籍/地區","ename":"nationality","cols":"","rows":"","contentType":"0","editType":"0"},    {"cname":"身份證件類型","ename":"idCardTypeName","cols":"","rows":"","contentType":"0","editType":"0"},    {"cname":"身份證件號","ename":"idCardNo","cols":"","rows":"","contentType":"0","editType":"0"}]

好處:

實現方法肯定是比直接在html里面寫這個表格要費事兒一點兒,

但是當這個表格被應用于多個地方而且表格名目條數過多的時候,

如果要大量修改的話,其實是一件非常糟心的事兒

考慮的比較少:

每行只放兩個條目、

每個條目只考慮橫向或縱向合并、

橫向合并時,

當處在1號位上時,則這行只放一個條目;

當處在2號位上時,則結束這一行,新增一個tr行,新增的tr行只放一個條目。

縱向合并時,

則記錄需要縱向合并的行數。

啊,代碼如下......

第一次寫這種東西.....肯定是有很多需要優化的地方,先記錄一下:

var getLine = function(it,ins,type){		switch (type) {			case 1:				var tdline = '<td colspan="" rowspan="" class="t_name">'+it.cname+'</td>;'				tdline +=	'<td colspan="3" rowspan="" class="t_data data" name="'+it.ename+'"></td>';				break;			case 0:				var tdline = '<td colspan="'+it.cols+'" rowspan="'+it.rows+'" class="t_name">'+it.cname+'</td>;'				tdline +=	'<td colspan="'+it.cols+'" rowspan="'+it.rows+'" class="t_data data" name="'+it.ename+'"></td>';				break;			default:			  break;		}		if(ins == 2){tdline +=	"</tr>"};		return tdline;	};	var loadTpl = function(data){		var dataLen = data.length;		var tplStr = []; //模板		var rowCount = 0; //獲取縱向合并的數目		var lineStr; //一行tr的內容		var lineCount = 0;//一行的塊數計算		for(var i in data){			if(data[i].rows > 0){				rowCount = data[i].rows;			}			if(lineCount == 0){lineStr = "<tr>";}			if(rowCount > 0 || data[i].cols > 0){				if(rowCount > 0){					--rowCount;					lineStr += getLine(data[i],2,0);					tplStr.push(lineStr);					lineStr = "";					lineCount = 0;				}				if(data[i].cols > 0){					if(lineCount == 0){						lineStr += getLine(data[i],2,1);						tplStr.push(lineStr);						lineStr = "";						lineCount = 0;					}else{						lineStr += "</tr><tr>";						lineStr += getLine(data[i],2,1);						tplStr.push(lineStr);						lineStr = "";						lineCount = 0;					}				}			}else{				switch (lineCount) {					case 0:						lineStr += getLine(data[i],1,0);						lineCount++;						if(dataLen-1 == i){							lineStr += "</tr>";							tplStr.push(lineStr);							lineStr = "";							lineCount = 0;						}						break;					case 1:						lineStr += getLine(data[i],2,0);						tplStr.push(lineStr);						lineStr = "";						lineCount = 0;						break;					default:						break;				}			}		};		dom.find(".fragment-content table tbody").html(tplStr);	};

寫了三次......每次寫的都不對......

結果下班前的半個小時,一次性搞定了......

狀態不對真可怕......

***********************************************2月8日分割線******************************************************

昨晚給我老大瞄了一眼代碼,拼字符串被罵了。

會阻礙js的運行速度,要改用push。

待會兒去百度一下。

出了一個問題....

var loadTpl = function(data){		var tplStr ;		$.getJSON("../js/teacherInfoTpl.json",function(data){			tplStr = archivesSet.dataRender(data); //模板		});		dom.find(".fragment-content table tbody").html(tplStr);	};這里對tplStr的賦值出了getJSON這個方法居然取不到值。

var loadTpl = function(data){		var tplStr ;		$.getJSON("../js/teacherInfoTpl.json",function(data){			tplStr = archivesSet.dataRender(data); //模板			dom.find(".fragment-content table tbody").html(tplStr);		});	};

只有在getJSON內部才能去將tplStr html進tbody里

...百度了一下.....原來是getJSON方法和console.log異步執行的問題......

百度結果戳這里

問題解答是這樣的:

因為getJson是異步執行的,即console.log和getJson是一塊執行的,并沒有getJson執行完再執行console.log,所以全局變量并沒有賦值就輸出了解決辦法:在getJson前面加一句$.AjaxSettings.async = false;

所以改成下面這樣,加一行代碼就可以了

var loadTpl = function(data){		var tplStr;		$.ajaxSettings.async = false;		$.getJSON("../js/teacherInfoTpl.json",function(data){			tplStr = archivesSet.dataRender(data); //模板		});		dom.find(".fragment-content table tbody").html(tplStr);	};


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩高清av在线| 欧美性xxxxx极品娇小| 精品久久中文字幕久久av| 亚洲天堂成人在线| 亚洲а∨天堂久久精品喷水| 不卡av电影在线观看| 69国产精品成人在线播放| 欧美激情日韩图片| 成人激情视频小说免费下载| 欧美人与性动交| 国产成人精品优优av| 成人精品一区二区三区电影免费| 欧美黑人国产人伦爽爽爽| 97色在线观看| 久久人人爽人人爽人人片亚洲| 91成人福利在线| 日韩美女在线播放| 成年无码av片在线| 亚洲自拍小视频| 2019中文字幕免费视频| 日韩欧美有码在线| 国产精品久久久久7777婷婷| 久久影视免费观看| 91影院在线免费观看视频| 韩国欧美亚洲国产| 国外视频精品毛片| 尤物精品国产第一福利三区| 亚洲一区免费网站| 欧美在线视频一区二区| 国产一区二区激情| 国产美女搞久久| 欧美电影在线免费观看网站| 91亚洲国产成人久久精品网站| 国产亚洲精品一区二区| 国产91精品黑色丝袜高跟鞋| 欧美电影在线观看网站| 国产精品av电影| 亚洲福利影片在线| 日韩av男人的天堂| 日韩av片免费在线观看| 尤物精品国产第一福利三区| 日韩最新av在线| 国外成人在线视频| 97在线看免费观看视频在线观看| 国产精品丝袜视频| 精品国产一区av| 中文字幕自拍vr一区二区三区| 一区二区三区视频免费在线观看| 综合av色偷偷网| 欧美激情精品久久久久久蜜臀| 欧美午夜美女看片| 久久久久成人网| 高跟丝袜欧美一区| 欧美亚洲国产日本| 91成人精品网站| 久久久久久久999精品视频| 播播国产欧美激情| 亚洲一级片在线看| 91禁外国网站| 欧美多人爱爱视频网站| 国产女同一区二区| 亚洲欧美成人网| 亚洲free性xxxx护士hd| 欧美亚洲国产日本| 91在线观看免费观看| 亚洲香蕉伊综合在人在线视看| 国产乱肥老妇国产一区二| 在线色欧美三级视频| 欧美wwwwww| 中文字幕久久亚洲| 国产aaa精品| 国模叶桐国产精品一区| 国产亚洲精品一区二555| 欧美噜噜久久久xxx| 亚洲一区二区精品| 亚洲精品久久久久久久久久久久久| 91av视频在线免费观看| 欧美精品在线免费播放| 最新国产成人av网站网址麻豆| 亚洲精品成a人在线观看| 精品国产999| 亚洲精品一区二区三区不| 另类专区欧美制服同性| 日本成人黄色片| 亚洲综合在线做性| 国产精品成人一区二区三区吃奶| 最近2019中文字幕一页二页| 川上优av一区二区线观看| 亚洲精品美女在线| 亚洲直播在线一区| 国产精品偷伦免费视频观看的| 国产精品在线看| 国产欧美日韩最新| 欧美激情一区二区三级高清视频| 欧美性猛交xxxx富婆| 亚洲国产精彩中文乱码av| 国产精品大陆在线观看| 成人中文字幕+乱码+中文字幕| 精品动漫一区二区三区| 亚洲一品av免费观看| 91成人在线视频| 国产精品黄色av| 久久精品国产2020观看福利| 亚洲成人av片| xvideos国产精品| 日韩电影中文字幕在线观看| 亚洲片国产一区一级在线观看| www.亚洲人.com| 91免费看片在线| 97久久久免费福利网址| 久久6免费高清热精品| 国产激情综合五月久久| 亚洲人a成www在线影院| 亚洲乱码国产乱码精品精| 国内揄拍国内精品| 免费91麻豆精品国产自产在线观看| 精品久久久久久久久久| 久久天天躁狠狠躁夜夜爽蜜月| 亚洲欧洲在线免费| 久久精品中文字幕电影| 国产欧美精品一区二区三区介绍| 欧美国产激情18| 午夜精品久久久99热福利| 高清一区二区三区日本久| 亚洲天堂日韩电影| 色一情一乱一区二区| 九九精品在线播放| 久久精品一本久久99精品| 国产日韩换脸av一区在线观看| 在线播放国产一区二区三区| 欧美日韩亚洲成人| 亚洲天堂av网| 欧美一级在线亚洲天堂| 久久激情五月丁香伊人| 国产有码在线一区二区视频| 久久91精品国产91久久久| 欧美黄色片免费观看| 国产精品久久久久久久久久ktv| 全亚洲最色的网站在线观看| 日韩一区二区三区国产| 国产精品高精视频免费| 国产精品∨欧美精品v日韩精品| 欧美激情精品久久久久久| 久久免费少妇高潮久久精品99| 91高清视频免费观看| 一区二区三欧美| 久久久国产精彩视频美女艺术照福利| 91精品国产99久久久久久| 久久婷婷国产麻豆91天堂| 最近2019免费中文字幕视频三| 亚洲人午夜精品免费| 欧美性xxxx极品hd满灌| 久久香蕉国产线看观看网| 欧美亚洲第一区| 亚洲乱码一区av黑人高潮| 精品女同一区二区三区在线播放| 日本一区二区三区四区视频| 狠狠色狠狠色综合日日五| 热久久这里只有| 国产欧美日韩中文字幕在线| 久久久国产精品亚洲一区| 欧美精品18videos性欧美| 日韩高清电影免费观看完整版| 欧美午夜片欧美片在线观看|