實現功能:dataTable某列內容過長的話,只顯示部分內容,鼠標點擊顯示全部,再點擊顯示部分。可以切換。
效果圖:
鼠標點擊:
如果再次點擊,備注內容又收縮了。
JS實現代碼如下:
var remarkShowLength = 10;//默認現實的字符串長度
datatable中的配置:
首先在 columnDefs 中顯示文本的時候,如果超長,就只顯示部分。
然后通過 createdRow ,如果備注信息超長的話,給該td元素添加上onclick時間,鼠標點擊的時候,可以進行切換。并且將全部的字符信息 data.remarks 放置到屬性中去,以便后面可以取出來。
-
"createdRow": function( row, data, dataIndex ) {
-
if(data.remarks.length > remarkShowLength){//只有超長,才有td點擊事件
-
$(row).children('td').eq(7).attr('onclick','javascript:changeShowRemarks(this);');
-
-
$(row).children('td').eq(7).attr('content',data.remarks);
-
-
-
"url" : "/cluster/list?importantLevel=" + $('#searchImportantLevelSelect').val()
-
-
-
-
-
-
-
"render": function (data, type, full, meta) {
-
if (full.remarks.length > remarkShowLength) {
return getPartialRemarksHtml(full.remarks);//顯示部分信息
} else {
return full.remarks;//顯示原始全部信息 }
}
}
]
下面從td的屬性中取出全部的remark,然后根據當前是顯示的全部還是顯示的部分信息,進行切換。
-
-
function changeShowRemarks(obj){//obj是td
-
var content = $(obj).attr("content");
-
if(content != null && content != ''){
-
if($(obj).attr("isDetail") == 'true'){//當前顯示的是詳細備注,切換到顯示部分
-
//$(obj).removeAttr('isDetail');//remove也可以
-
$(obj).attr('isDetail',false);
-
$(obj).html(getPartialRemarksHtml(content));
-
}else{//當前顯示的是部分備注信息,切換到顯示全部
-
$(obj).attr('isDetail',true);
-
$(obj).html(getTotalRemarksHtml(content));
-
-
-
-
-
function getPartialRemarksHtml(remarks){
-
return remarks.substr(0,remarkShowLength) + ' <a href="javascript:void(0);" ><b>...</b></a>';
-
-
-
-
function getTotalRemarksHtml(remarks){
-
return remarks + ' <a href="javascript:void(0);" >收起</a>';
-
原文鏈接:https://blog.csdn.net/zz_chst/article/details/79587936?utm_source=blogxgwz5
藍藍設計建立了UI設計分享群,每天會分享國內外的一些優秀設計,如果有興趣的話,可以進入一起成長學習,請掃碼ben_lanlan,報下信息,會請您入群。歡迎您加入噢~~希望得到建議咨詢、商務合作,也請與我們聯系。
文章來源:csdn
分享此文一切功德,皆悉回向給文章原作者及眾讀者.
免責聲明:藍藍設計尊重原作者,文章的版權歸原作者。如涉及版權問題,請及時與我們取得聯系,我們立即更正或刪除。
藍藍設計( m.91whvog3.cn )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 、平面設計服務