layui解决table页内容显示过长的问题

在写一些table列表页的时候,总会出现一些数据长度过长导致显示不规范的问题

如下:

 id为26的这一行,前两项文字过长,导致最后一列的按钮被挤到了第二行

解决方案:

        指定显示长度,让每一列只占一行.然后被隐藏的名字,鼠标悬浮的时候就显示全名

后端:

        前端也可以显示显示长度,这里,通过后端处理数据

//$list为查询出的列表数据,进行foreach遍历,保留name和cname的原始数据,将变化之后的数据塞入新数里面
foreach($list as $key => $value){
    $list[$key]['name1'] = $list[$key]['name'];
    $list[$key]['cname1'] = $list[$key]['cname'];
            
    //对名字进行判断
    if(strlen($list[$key]['name']) > 32){
        $list[$key]['name1'] = substr($list[$key]['name'],0,32).'...';
    }
    //对储值卡进行处理
    if(strlen($list[$key]['cname']) > 32){
        $list[$key]['cname1'] = substr($list[$key]['cname'],0,32).'...';
    }


}

前端html:

       只需将原来的td项添加上类属性,并且将后端传过来的原值,添加上格外的属性里面

<td class="td-nowrap icon-combined-shape-copy" id_value = "{$vo.name1}">{$vo.name}</td>
<td class="td-nowrap icon-combined-shape-copy" id_value = "{$vo.cname1}">{$vo.cname}</td>

前端js:

$(function () {
    var tips;
    $(".icon-combined-shape-copy").on({
        mouseenter: function () {
           var name = $(this).attr('id_value');
           //console.log(name)
           var that = this;
           tips = layer.tips("<span style='color:#000;'>"+name+"</span>", that, { tips: [2, '#fff'], time: 0, area: 'auto', maxWidth: 500 });
        },
       mouseleave: function () {
          layer.close(tips);
       }
    });
        
})

获取了属性之后,即可将值塞入要显示的tips里面

显示效果:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值