layui下拉多选框,选中的数据较多时,总是有遮挡,这个怎么处理?
<label class="layui-form-label " style="width:100px;">标题</label>
<div class="layui-input-block layui-form" lay-filter="demo" style="width:120px;margin-left: 100px;">
<div id="xmselectdemo" class="xm-select-demo" style="width:166px;height:50px"></div>
</div>
参考此文档 https://maplemei.gitee.io/xm-select/#/basic/model
设置换行 或者超过一个自动隐藏
这个宽高是固定的,所以添加多个以后不会自动伸展,
style="width:120px;margin-left: 100px;"
不要去思考使用layui内置的动态函数,然后加上全局变量的这种方式搞了。
实际上没有这么麻烦,比如说简单的使用jQuery,也是可以搞定的。
var w = $("#selector ").val();
var w2 = $("#selector option:selected").text();
看吧,layui是个幌子。再者说,是我们已经懒得思考。
对于layui下拉多选框选中多个数据时遮挡的问题,可以尝试以下解决方法:通过监听下拉框,每次重新实例化表格覆盖掉原有的表格,从而解决表头被遮挡的问题。
具体步骤如下: 1. 监听下拉框,当触发下拉框选中事件时,调用renderCols()函数。 2. 在renderCols()函数中,根据选中的数据不同,定义不同的表头格式,并调用TableReload()函数实例化表格。 3. 在TableReload()函数中,给表格传入定义好的表头格式,并在options中设置table实例的其他参数。 4. 将新实例化的表格挂载到指定的DOM节点中。
代码示例:
// 监听下拉框选择事件
form.on("select(select_dropdown)", function(data){
switch(data.value){
case 'option1':
renderCols([...]); // 根据选项1的表头格式渲染表格
break;
case 'option2':
renderCols([...]); // 根据选项2的表头格式渲染表格
break;
default:
return;
}
});
// 根据不同选项渲染不同表头格式
function renderCols(cols){
TableReload(cols);
}
// 实例化表格
function TableReload(cols){
var options = {
elem: '#table', // 指定挂载表格的DOM节点
title: '表格标题',
cols: cols, // 表头格式
// 设置其他属性
};
table.render(options);
}