• 技术文章 >web前端 >js教程

    select的option叠加问题

    php中世界最好的语言php中世界最好的语言2018-03-28 17:37:50原创733
    这次给大家带来select的option叠加问题,解决select的option叠加问题注意事项有哪些,下面就是实战案例,一起来看一下。

    小编我在使用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>
    <p id="wrap">
     <p class="layui-form" lay-filter="merchantForm">
     <p class="layui-form-item">
     <label class="layui-form-label">选择框</label>
     <p class="layui-input-block">
      <select name="city" lay-verify="required" id="test1" lay-filter="test1">
      <option value="0">时间</option>
      <option value="1">金额</option>
      </select>
     </p>
     </p>
     <p class="layui-form-item">
     <label class="layui-form-label">选择框</label>
     <p class="layui-input-block">
      <select name="city" lay-verify="required" id="test2" lay-filter="test2">
      <option value="">请选择规则名称</option>
      </select>
     </p>
     </p>
    </p> 
    <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>

    相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

    推荐阅读:

    在vue里如何使用xe-utils

    vue-router进行build时不显示路由页面怎么处理

    以上就是select的option叠加问题的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:select option 问题
    上一篇:vue2.0axios跨域和渲染如何使用 下一篇:Vue.js自定义事件如何进行表单输入组件
    20期PHP线上班

    相关文章推荐

    精选22门好课,价值3725元,开通VIP免费学习!• 简单介绍JavaScript “原型“与“原型链“• 聊聊Node.js中的进程、线程、协程与并发模型• JavaScript怎么处理树状结构数据的增删改查• JavaScript知识点总结之DOM• 一文了解Node中的文件模块和核心模块
    1/1

    PHP中文网