这段时间用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
// 可以得到下拉框选择的文本
}