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