實現(xiàn)功能:dataTable某列內(nèi)容過長的話,只顯示部分內(nèi)容,鼠標(biāo)點擊顯示全部,再點擊顯示部分??梢郧袚Q。
效果圖:
鼠標(biāo)點擊:
如果再次點擊,備注內(nèi)容又收縮了。
JS實現(xiàn)代碼如下:
var remarkShowLength = 10;//默認(rèn)現(xiàn)實的字符串長度
datatable中的配置:
首先在 columnDefs 中顯示文本的時候,如果超長,就只顯示部分。
然后通過 createdRow ,如果備注信息超長的話,給該td元素添加上onclick時間,鼠標(biāo)點擊的時候,可以進行切換。并且將全部的字符信息 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,然后根據(jù)當(dāng)前是顯示的全部還是顯示的部分信息,進行切換。
-
-
function changeShowRemarks(obj){//obj是td
-
var content = $(obj).attr("content");
-
if(content != null && content != ''){
-
if($(obj).attr("isDetail") == 'true'){//當(dāng)前顯示的是詳細備注,切換到顯示部分
-
//$(obj).removeAttr('isDetail');//remove也可以
-
$(obj).attr('isDetail',false);
-
$(obj).html(getPartialRemarksHtml(content));
-
}else{//當(dāng)前顯示的是部分備注信息,切換到顯示全部
-
$(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
藍藍設(shè)計建立了UI設(shè)計分享群,每天會分享國內(nèi)外的一些優(yōu)秀設(shè)計,如果有興趣的話,可以進入一起成長學(xué)習(xí),請掃碼ben_lanlan,報下信息,會請您入群。歡迎您加入噢~~希望得到建議咨詢、商務(wù)合作,也請與我們聯(lián)系。
文章來源:csdn
分享此文一切功德,皆悉回向給文章原作者及眾讀者.
免責(zé)聲明:藍藍設(shè)計尊重原作者,文章的版權(quán)歸原作者。如涉及版權(quán)問題,請及時與我們?nèi)〉寐?lián)系,我們立即更正或刪除。
藍藍設(shè)計( www.yvirxh.cn )是一家專注而深入的界面設(shè)計公司,為期望卓越的國內(nèi)外企業(yè)提供卓越的UI界面設(shè)計、BS界面設(shè)計 、 cs界面設(shè)計 、 ipad界面設(shè)計 、 包裝設(shè)計 、 圖標(biāo)定制 、 用戶體驗 、交互設(shè)計、 網(wǎng)站建設(shè) 、平面設(shè)計服務(wù)