通过报表类型,动态加载公司名称,不同的报表类型,同一个公司,所带的value值是不同的。
自定义一个属性datatypeid 绑定到公司名称上面。
问题:
layui中,hide,show是无法使用的der(‘select’)的时候,select中display=none已经添加上去。但是渲染的时候,显示是用dl+div渲染显示的。
不起作用,没用,hide后,前台依旧显示。也不想通过ajax请求数据库获取加载。
解决办法:
1,使用disabled,让其不可用
可以使用,只是禁用了,还可以看到,体现效果不好,这里的datatypeid是自定义属性,通过另外一个select来判断哪些显示.哪些来隐藏。
2,因为公司名称是不同类型,全部一次性加载出来了。我们过滤一下。动态显示匹配的内容。
解决办法,初始化的时候偶,查询到,复制一份,选择的时候,动态添加
初始化的时候,我们复制一份,挂载到window上面。后面做匹配使用。初始化的时候拷贝一份。后面需要动态添加
function init(){let d_type = $("#data_type").find("option:selected").val();console.log(d_type);$("#company_id").removeAttr("disabled");windowpanyselect= $("#company_id").clone();//删除所有的option$("#company_id").find('option[datatypeid]').remove();//查找出需要显示的option并复制var options = companyselect.find("option[datatypeid="+d_type+"]").clone();//将需要显示的option添加到select中$("#company_id").append(options);//因为ve()不会刷新控件,需要将新的option切换上去//这里排除了options.size() == 0的情况$("#company_id").find('option').eq(0).attr("selected",true);// $("#company_id option[datatypeid != "+d_type+"]").attr("disabled","disabled");// $("#company_id option[datatypeid = "+d_type+"]").removeAttr("disabled");// let mm = $("#company_id option[datatypeid != "+d_type+"]").html();// console.log(mm);// $("#company_id option[datatypeid = "+d_type+"]").removeClass("layui-hide");der('select'); //刷新select选择框渲染}$(function(){console.log('页面加载完毕');init();})
html代码;
下面展示一些 内联代码片
。
<div class="layui-form-item"><div class="layui-inline"><label class="layui-form-label">报表类型</label><div class="layui-input-inline" id="data_type"><select name="data_type" lay-filter='data_type' >{{{$datatype}}}</select></div></div>
<div class="layui-form-item"><div class="layui-inline"><label class="layui-form-label">公司名称</label><div class="layui-input-inline" style="width: 320px;"><select name="company_id" lay-filter='company_id' id="company_id" ><option value="">不选</option>{{{$company}}}</select></div></div> </div>
('select(data_type)', function(data){console.log(data.value);let data_type = data.value;d_type = $(data.elem).find("option:selected").attr("d_type");$("#company_id").removeAttr("disabled");//删除所有的option$("#company_id").find('option[datatypeid]').remove();//查找出需要显示的option并复制var options = companyselect.find("option[datatypeid="+data_type+"]").clone();//将需要显示的option添加到select中$("#company_id").append(options);//因为ve()不会刷新控件,需要将新的option切换上去//这里排除了options.size() == 0的情况$("#company_id").find('option').eq(0).attr("selected",true);der('select'); //刷新select选择框渲染})
本文发布于:2024-01-31 08:35:57,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170666136127204.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |