layui动态追加select元素不显示

今天用layui写前端页面时候用到了通过jqurey中的befor追加select元素

一开始写法:

<div class="layui-form-item">
    <label class="layui-form-label">执行人员</label>
    <div  style="width: 150px;display: inline-block;" >
      <select name="city">
        <option value="">选择部门</option>
        <option value="0">北京</option>
      </select>
       </div>---
        <div style="width: 150px;display: inline-block;">
      <select name="city" >
        <option value="">选择人员</option>
        <option value="0">张三</option>
      </select>
     </div>    
     
     <button type="button" class="layui-btn" id="addpeop">
          <i class="layui-icon">&#xe608;</i>
    </button>
</div> 
<script>
$(function(){
    $("#addpeop").click(function(){
        var peop=$("#addpeod");
        var t=$(['<label class="layui-form-label"></label>',
                   '<div  style="width: 150px;display: inline-block;" >',
                   '<select name="city">',
                   '<option value="">选择部门</option>',
                      '<option value="0">北京</option>',
                     '</select>',
                      '</div>---',
                   '<div style="width: 150px;display: inline-block;">',
                    ' <select name="city" >',
                  ' <option value="">选择人员</option>',
                   '<option value="0">张三</option>',
                   '</select>',
                '</div>',
                '<button type="button" class="layui-btn layui-btn-xs layui-btn-danger" id="del">删除</button>'].join(''));
        t.find('#del').on('click', function(){
            t1.remove();
            });
        peop.append(t);
           
    })
})
</script>
 
页面内容:

翻阅layui官方API发现

Layui会对select、checkbox、radio等原始元素隐藏,从而进行美化修饰处理。但这需要依赖于form组件,所以你必须加载 form,并且执行一个实例。值得注意的是:导航的Hover效果、Tab选项卡等同理(它们需依赖 element 模块)

所以当新添加这些元素以后需要对页面表单元素重新渲染一下

layui.use('form', function(){
  var form = layui.form; //只有执行了这一步,部分表单元素才会自动修饰成功
  
  //……
  
  //但是,如果你的HTML是动态生成的,自动渲染就会失效
  //因此你需要在相应的地方,执行下述方法来手动渲染,跟这类似的还有 element.init();
  form.render();
});
在script最后加上上面代码

问题解决了

我用的layui 2.x版本其他版本可能会有差异

原文:https://blog.csdn.net/light_666/article/details/80205041 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值