layui table 行内下拉框select不显示的解决办法

layui table 行内下拉框select不显示的解决办法


当前一个项目需要用到layui table行内有一个下拉框,部分代码如下:

        table.render({
            elem: '#shifts_time',
            id:'shifts_time',
            height: 'full',
            data: shiftsData0,
            title: '班组成员',
          //  height: 'full-290',
            toolbar: '#toolbar',
            defaultToolbar: [],
            page: false,
            loading: false,
            even: false,
            cols: [[ //标题栏
                {type: 'checkbox',},
                {field: 'shifts', title: '班次', width: 180, align: 'center'},
                {field: 'tim', title: '开始时间', align: 'center',width:250,
                    templet: function (d) {
                        var opt =
                            '<select name="shifts_time"  lay-filter="shifts_time" lay-verify="required">' +
                            '<option value="">请选择时间</option>';
                        $.each(d.time_list, function (i, item) {
                            opt += '<option value = "' + item.time + '">' + item.time +'</option>'
                        });
                        opt += '</select>';
                        return opt;
                    } },
                {event: 's_time',field: 's_time', title: '结束时间', align: 'center', width: 250,
                    templet: function (d) {
                        var opt =
                            '<select name="shifts_time"  lay-filter="shifts_time" lay-verify="required">' +
                            '<option value="">请选择时间</option>';
                        $.each(d.time_list, function (i, item) {
                            opt += '<option value = "' + item.time + '">' + item.time +'</option>'
                        });
                        opt += '</select>';
                        return opt;
                    }
                },
   
                {field:'notes', title:'备注'},
            ]], 
           
 });

下拉框没有选项在这里插入图片描述

经查找,终于知道,只需更改CSS样式就可以解决问题

  .layui-table-cell {
        overflow: visible;
    }
`

结果如下:
没有上述第二条时,可以显示

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
layuitable 中加入下拉框可以通过使用 layui 的 form 模块中的 select 组件来实现。 具体步骤如下: 1. 在 table 的列定义中添加一个自定义列,用来显示下拉框。 ```javascript cols: [ [ {field: 'id', title: 'ID'}, {field: 'name', title: '姓名'}, {field: 'gender', title: '性别'}, {field: 'city', title: '城市'}, {field: 'hobby', title: '爱好'}, { field: 'dropdown', title: '下拉框', templet: function (d) { return '<select name="dropdown" lay-filter="dropdown" data-id="' + d.id + '"></select>'; } } ] ] ``` 2. 在页面加载完毕后,通过 ajax 请求获取下拉框的选项数据,并将数据渲染到 select 组件中。 ```javascript layui.use(['table', 'form'], function () { var table = layui.table; var form = layui.form; // 渲染表格 table.render({ elem: '#demo', url: '/demo/table/user/', cols: [ // 列定义 ], page: true }); // 监听下拉框的变化 form.on('select(dropdown)', function (data) { var id = data.elem.getAttribute('data-id'); var value = data.value; // TODO: 将下拉框的值保存到数据库中 }); // 页面加载完毕后,请求下拉框的选项数据,并渲染到下拉框中 $.ajax({ url: '/demo/select/options/', success: function (data) { var options = '<option value="">请选择</option>'; for (var i = 0; i < data.length; i++) { options += '<option value="' + data[i].value + '">' + data[i].label + '</option>'; } $('select[name="dropdown"]').html(options); form.render('select'); } }); }); ``` 其中,form.on('select(dropdown)', function (data) {}) 监听了下拉框的变化事件,可以在这个事件中将下拉框的值保存到数据库中。另外,通过 ajax 请求获取下拉框的选项数据,并将数据渲染到下拉框中,需要注意的是,由于 layui 采用了异步模块加载方式,所以在页面加载完毕后需要手动调用 form.render('select') 方法来渲染下拉框

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值