<address id="ttjl9"></address>

      <noframes id="ttjl9"><address id="ttjl9"><nobr id="ttjl9"></nobr></address>
      <form id="ttjl9"></form>
        <em id="ttjl9"><span id="ttjl9"></span></em>
        <address id="ttjl9"></address>

          <noframes id="ttjl9"><form id="ttjl9"></form>

          如何限制datatable列寬--(收縮內容)

          2021-8-10    前端達人

          實現功能:dataTable某列內容過長的話,只顯示部分內容,鼠標點擊顯示全部,再點擊顯示部分??梢郧袚Q。

          效果圖:

          鼠標點擊:

          如果再次點擊,備注內容又收縮了。

          JS實現代碼如下:

          var remarkShowLength = 10;//默認現實的字符串長度

          datatable中的配置:

          首先在 columnDefs 中顯示文本的時候,如果超長,就只顯示部分。

          然后通過 createdRow ,如果備注信息超長的話,給該td元素添加上onclick時間,鼠標點擊的時候,可以進行切換。并且將全部的字符信息 data.remarks 放置到屬性中去,以便后面可以取出來。

          
          
          1. "createdRow": function( row, data, dataIndex ) {
          2. if(data.remarks.length > remarkShowLength){//只有超長,才有td點擊事件
          3. $(row).children('td').eq(7).attr('onclick','javascript:changeShowRemarks(this);');
          4. }
          5. $(row).children('td').eq(7).attr('content',data.remarks);
          6. },
          7. "ajax" : {
          8. "url" : "/cluster/list?importantLevel=" + $('#searchImportantLevelSelect').val()
          9. },
          10. "columnDefs" : [
          11. {
          12. "type": "date",
          13. "targets": 7,
          14. "render": function (data, type, full, meta) {
          15. if (full.remarks.length > remarkShowLength) {
           return getPartialRemarksHtml(full.remarks);//顯示部分信息
           } else {

           return full.remarks;//顯示原始全部信息 }

           }
          }
          ]

          下面從td的屬性中取出全部的remark,然后根據當前是顯示的全部還是顯示的部分信息,進行切換。

          
          
          1. //切換顯示備注信息,顯示部分或者全部
          2. function changeShowRemarks(obj){//obj是td
          3. var content = $(obj).attr("content");
          4. if(content != null && content != ''){
          5. if($(obj).attr("isDetail") == 'true'){//當前顯示的是詳細備注,切換到顯示部分
          6. //$(obj).removeAttr('isDetail');//remove也可以
          7. $(obj).attr('isDetail',false);
          8. $(obj).html(getPartialRemarksHtml(content));
          9. }else{//當前顯示的是部分備注信息,切換到顯示全部
          10. $(obj).attr('isDetail',true);
          11. $(obj).html(getTotalRemarksHtml(content));
          12. }
          13. }
          14. }

           

          
          
          1. //部分備注信息
          2. function getPartialRemarksHtml(remarks){
          3. return remarks.substr(0,remarkShowLength) + '&nbsp;&nbsp;<a href="javascript:void(0);" ><b>...</b></a>';
          4. }
          5. //全部備注信息
          6. function getTotalRemarksHtml(remarks){
          7. return remarks + '&nbsp;&nbsp;<a href="javascript:void(0);" >收起</a>';
          8. }

          原文鏈接:https://blog.csdn.net/zz_chst/article/details/79587936?utm_source=blogxgwz5

          藍藍設計建立了UI設計分享群,每天會分享國內外的一些優秀設計,如果有興趣的話,可以進入一起成長學習,請掃碼ben_lanlan,報下信息,會請您入群。歡迎您加入噢~~希望得到建議咨詢、商務合作,也請與我們聯系。

          文章來源:csdn

          分享此文一切功德,皆悉回向給文章原作者及眾讀者.
          免責聲明:藍藍設計尊重原作者,文章的版權歸原作者。如涉及版權問題,請及時與我們取得聯系,我們立即更正或刪除。

          藍藍設計www.syprn.cn )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 、平面設計服務

          日歷

          鏈接

          個人資料

          藍藍設計的小編 http://www.syprn.cn

          存檔

          亚洲va欧美va天堂v国产综合