layui之select的option叠加问题的解决方法


Posted in Javascript onMarch 08, 2018

小编我在使用layui,在select的地方遇到了坑,select里的值居然无法清空,select里的option还有叠加问题,为了解决这个问题,也达到我的功能,我研究了下,让有同样需求的小伙伴不踩坑,特贴上我的源码:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>layui-下拉框联动测试</title>
 <link rel="stylesheet" href="layui/css/layui.css" rel="external nofollow" >
</head>
<body>
<div id="wrap">
 <div class="layui-form" lay-filter="merchantForm">
 <div class="layui-form-item">
 <label class="layui-form-label">选择框</label>
 <div class="layui-input-block">
  <select name="city" lay-verify="required" id="test1" lay-filter="test1">
  <option value="0">时间</option>
  <option value="1">金额</option>
  </select>
 </div>
 </div>
 <div class="layui-form-item">
 <label class="layui-form-label">选择框</label>
 <div class="layui-input-block">
  <select name="city" lay-verify="required" id="test2" lay-filter="test2">
  <option value="">请选择规则名称</option>
  </select>
 </div>
 </div>
</div> 
<button id="btn">确定</button>
</body>
<script src="layui/layui.all.js"></script>
<script src="layui/jquery-1.8.3.min.js"></script>
<script>
//后台传过来的数据
var data=[
 {unitType:0,ruleName:'时间规则11',amount:1100,money:1100},
 {unitType:0,ruleName:'时间规则12',amount:1200,money:1200},
 {unitType:0,ruleName:'时间规则13',amount:1300,money:1300},
 {unitType:1,ruleName:'金额规则21',amount:2100,money:2100},
 {unitType:1,ruleName:'金额规则22',amount:2200,money:2200},
 {unitType:1,ruleName:'金额规则23',amount:2300,money:2300},
];
//初始化默认为时间类型以及对应的时间规则
layui.use('form', function(){
 var form = layui.form;
  $('#test2').html('');
  var html='';
  $.each(data,function(i,e){
   if(e.unitType==0)
    html+=`<option data-type="${e.unitType}">${e.ruleName}</option>`;
  })
  $('#test2').append(html);
  form.render('select'); 
})
//动态二级联动
layui.use('form', function(){
 var form = layui.form;
  form.on('select(test1)', function(obj){
  $('#test2').html('');
  var html='';
  if(obj.value==0){
   $.each(data,function(i,e){
    if(e.unitType==obj.value)
     html+=`<option data-type="${e.unitType}">${e.ruleName}</option>`;
   })
   $('#test2').append(html);
  }else if(obj.value==1){
   $.each(data,function(i,e){
    if(e.unitType==obj.value)
    html+=`<option data-type="${e.unitType}">${e.ruleName}</option>`;
   })
   $('#test2').append(html);
  }
  form.render('select');
 });
})
//二级联动完毕后获取对应的规则数据
$('#btn').click(function(){
 var thisValue=data.find((v)=>v.ruleName==$('#test2').val());
 console.log(thisValue); 
})
</script>
</html>

以上这篇layui之select的option叠加问题的解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
谷歌浏览器 insertCell与appendChild的区别
Feb 12 Javascript
javascript操作cookie的文章(设置,删除cookies)
Apr 01 Javascript
jQuery实现鼠标划过修改样式的方法
Apr 14 Javascript
js图片轮播手动切换效果
Nov 10 Javascript
Bootstrap实现带动画过渡的弹出框
Aug 09 Javascript
利用JS hash制作单页Web应用的方法详解
Oct 10 Javascript
基于vue-cli配置lib-flexible + rem实现移动端自适应
Dec 26 Javascript
js prototype和__proto__的关系是什么
Aug 23 Javascript
解决layer.open弹出框不能获取input框的值为空的问题
Sep 10 Javascript
vue 指令和过滤器的基本使用(品牌管理案例)
Nov 04 Javascript
jQuery实时统计输入框字数及限制
Jun 24 jQuery
JavaScript实现页面高亮操作提示和蒙板
Jan 04 Javascript
vue2.0 axios跨域并渲染的问题解决方法
Mar 08 #Javascript
解决Vue 通过下表修改数组,页面不渲染的问题
Mar 08 #Javascript
Vue.js实现图片的随意拖动方法
Mar 08 #Javascript
JS字符串去除连续或全部重复字符的实例
Mar 08 #Javascript
实战node静态文件服务器的示例代码
Mar 08 #Javascript
vue.js或js实现中文A-Z排序的方法
Mar 08 #Javascript
vue.js移动数组位置,同时更新视图的方法
Mar 08 #Javascript
You might like
Yii PHP Framework实用入门教程(详细介绍)
2013/06/18 PHP
PHP实现求连续子数组最大和问题2种解决方法
2017/12/26 PHP
在thinkphp5.0路径中实现去除index.php的方式
2019/10/16 PHP
解决iframe的frameborder在chrome/ff/ie下的差异
2010/08/12 Javascript
Juqery Html(),append()等方法的Bug解决方法
2010/12/13 Javascript
利用jQuery的deferred对象实现异步按顺序加载JS文件
2013/03/17 Javascript
常用的Javascript数据验证插件
2015/08/04 Javascript
jquery判断密码强度的验证代码
2020/04/22 Javascript
javascript实现起伏的水波背景效果
2016/05/16 Javascript
Bootstrap3学习笔记(三)之表格
2016/05/20 Javascript
javascript 将共享属性迁移到原型中去的实现方法
2016/08/31 Javascript
javascript的函数劫持浅析
2016/09/26 Javascript
Vue.js路由组件vue-router使用方法详解
2016/12/02 Javascript
详解Vue 实例中的生命周期钩子
2017/03/21 Javascript
javascript中toFixed()四舍五入使用方法详解
2018/09/28 Javascript
JavaScript使用Math.random()生成简单的验证码
2019/01/21 Javascript
vue-cli3配置与跨域处理方法
2019/08/17 Javascript
Layui多选只有最后一个值的解决方法
2019/09/02 Javascript
解决Vue打包上线之后部分CSS不生效的问题
2019/11/12 Javascript
ES6对象操作实例详解
2020/05/23 Javascript
jQuery实现鼠标拖拽登录框移动效果
2020/09/13 jQuery
使用Python设置tmpfs来加速项目的教程
2015/04/17 Python
Python的标准模块包json详解
2017/03/13 Python
python web.py开发httpserver解决跨域问题实例解析
2018/02/12 Python
python实现windows倒计时锁屏功能
2019/07/30 Python
python tkinter基本属性详解
2019/09/16 Python
python 申请内存空间,用于创建多维数组的实例
2019/12/02 Python
一文弄懂Pytorch的DataLoader, DataSet, Sampler之间的关系
2020/07/03 Python
Python做图像处理及视频音频文件分离和合成功能
2020/11/24 Python
python 使用paramiko模块进行封装,远程操作linux主机的示例代码
2020/12/03 Python
西班牙英格列斯百货英国官网:El Corte Inglés英国
2017/10/30 全球购物
Juicy Couture Beauty官方网站:香水和化妆品
2019/03/12 全球购物
英国最大的在线照明商店:Litecraft
2020/08/31 全球购物
小学生学习雷锋倡议书
2014/05/15 职场文书
高等学院职业生涯规划书范文
2014/09/16 职场文书
排查并解决Oracle sysaux表空间异常增长
2022/04/20 Oracle