Layui的table中使用select

时间:2024-12-10 16:53:10

这段时间用Layui做前端开发,遇到不少问题,已圆满解决,记录如下:

1、穿梭框

Layui从2.5.0版本增加了穿梭框,但项目要求左右两边均是表格,无奈只好使用第三方的穿梭框

2、左右两边的表列数显示不一样

在原代码的基础上修改,使之支持两表的列定义。

3、未选择行,两表中间的按钮依然可以点击

由于原按钮显示状态是完全正确的,只是无选中的行时按钮未禁用,所以只需要在相应的按钮上用removeAttr和attr移除禁用属性和添加禁用属性。

4、右表某一列需要显示下拉框

对应列使用模板实现。

5、下拉框中的数据是从服务端动态获取的

模板中使用laytpl即可实现。

6、下拉框只能显示在td中,无法完整显示

增加样式如下:

.layui-table-cell{
    overflow: visible;
}
.layui-layer-tips{
    display: none
}
/* 设置下拉框的高度与表格单元相同 */
td .layui-form-select{
    margin-top: -10px;
    margin-left: -15px;
    margin-right: -15px;
}

7、模板代码中给select标签增加data-属性,用于保存对象的id值。下拉框选择时会触发以下代码:

('select(xxx)',function(data){
// 通过可以得到保存的对象id
// 可以得到下拉框选择的文本
}