解决Layui动态生成select下拉选择框不显示问题

Posted supramolecular

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决Layui动态生成select下拉选择框不显示问题相关的知识,希望对你有一定的参考价值。

给代码添加如下部分:

  
layui.use('form', function()  //此段代码必不可少
    var form = layui.form;
    form.render();
);

实现效果:




html代码:


<div class="layui-form-item">
    <label class="layui-form-label">执行周期</label>
    <div class="layui-input-inline"  style="width: 90px;">
        <select name="period_type" lay-verify="required" lay-filter="period">
            <option value="week">每星期</option>
            <option value="day">每天</option>
            <option value="day-n">N天</option>
            <option value="hour">每小时</option>
            <option value="hour-n">N小时</option>
            <option value="minute-n">N分钟</option>
            <option value="month">每月</option>
        </select>
    </div>
   <div id="suboption">
       <!-- 默认每星期 -->
       <div>
       <div class="layui-input-inline" style="width: 90px;">
           <select name="week">
               <option value="1">周一</option>
               <option value="2">周二</option>
               <option value="3">周三</option>
               <option value="4">周四</option>
               <option value="5">周五</option>
               <option value="6">周六</option>
               <option value="0">周日</option>
           </select>
       </div>
       <div class="layui-input-inline" style="width: 60px;">
           <input type="number" name="hour" value="1" max="23" maxlength="2" min="0" class="layui-input"/>
       </div>
       <div class="layui-input-inline" style="width: 50px; vertical-align: middle; margin-left: -11px;">
           <input type="text" class="layui-input" readonly value="小时" style=" background-color: #f6f6f6;">
       </div>
       <div class="layui-input-inline" style="width: 60px;">
           <input type="number" name="minute" value="30" maxlength="2" max="59" min="0" class="layui-input"/>
       </div>
       <div class="layui-input-inline" style="width: 50px; vertical-align: middle; margin-left: -11px;">
           <input type="text" class="layui-input" readonly value="分钟" style=" background-color: #f6f6f6;">
       </div>
   </div>
   </div>

</div>

layui.use('form', function()
    var form = layui.form;
    form.on('select(period)', function(data)
        var num = data.elem.selectedIndex; //获取对应option的索引排序
        num = num + 1;
        $('#suboption').empty();
        switch (num)
        
            case 1: //每星期
                $("#suboption").append(`<div>
       <div class="layui-input-inline" style="width: 90px; height: 36px; font-size: 14px;" id="weekid" >
           <select name="week" style="height: 36px;">
               <option value="1">周一</option>
               <option value="2">周二</option>
               <option value="3">周三</option>
               <option value="4">周四</option>
               <option value="5">周五</option>
               <option value="6">周六</option>
               <option value="0">周日</option>
           </select>
       </div>
       <div class="layui-input-inline" style="width: 60px;">
           <input type="number" name="hour" value="1" max="23" maxlength="2" min="0" class="layui-input"/>
       </div>
       <div class="layui-input-inline" style="width: 50px; vertical-align: middle; margin-left: -11px;">
           <input type="text" class="layui-input" readonly value="小时" style=" background-color: #f6f6f6;">
       </div>
       <div class="layui-input-inline" style="width: 60px;">
           <input type="number" name="minute" value="30" maxlength="2" max="59" min="0" class="layui-input"/>
       </div>
       <div class="layui-input-inline" style="width: 50px; vertical-align: middle; margin-left: -11px;">
           <input type="text" class="layui-input" readonly value="分钟" style=" background-color: #f6f6f6;">
       </div>
   </div>`);
                layui.use('form', function()  //此段代码必不可少
                    var form = layui.form;
                    form.render();
                );
                break;
            case 2: //每天
                $("#suboption").append(` <div>
           <div class="layui-input-inline" style="width: 60px;">
               <input type="number" name="hour" value="1" max="23" maxlength="2" min="0" class="layui-input"/>
           </div>
           <div class="layui-input-inline" style="width: 50px; vertical-align: middle; margin-left: -11px;">
               <input type="text" class="layui-input" readonly value="小时" style=" background-color: #f6f6f6;">
           </div>
           <div class="layui-input-inline" style="width: 60px;">
               <input type="number" name="minute" value="30" maxlength="2" max="59" min="0" class="layui-input"/>
           </div>
           <div class="layui-input-inline" style="width: 50px; vertical-align: middle; margin-left: -11px;">
               <input type="text" class="layui-input" readonly value="分钟" style=" background-color: #f6f6f6;">
           </div>
       </div>`);
                break;
            case 3: //N天
                $("#suboption").append(` <div>
           <div class="layui-input-inline" style="width: 60px;">
               <input type="number" name="where1" value="3" max="31" maxlength="2" min="0" class="layui-input"/>
           </div>
           <div class="layui-input-inline" style="width: 50px; vertical-align: middle; margin-left: -11px;">
               <input type="text" class="layui-input" readonly value="天" style=" background-color: #f6f6f6;">
           </div>
           <div class="layui-input-inline" style="width: 60px;">
               <input type="number" name="hour" value="1" max="23" maxlength="2" min="0" class="layui-input"/>
           </div>
           <div class="layui-input-inline" style="width: 50px; vertical-align: middle; margin-left: -11px;">
               <input type="text" class="layui-input" readonly value="小时" style=" background-color: #f6f6f6;">
           </div>
           <div class="layui-input-inline" style="width: 60px;">
               <input type="number" name="minute" value="30" maxlength="2" max="59" min="0" class="layui-input"/>
           </div>
           <div class="layui-input-inline" style="width: 50px; vertical-align: middle; margin-left: -11px;">
               <input type="text" class="layui-input" readonly value="分钟" style=" background-color: #f6f6f6;">
           </div>
       </div>`);
                break;
            case 4: //每小时
                $("#suboption").append(`<div>
           <div class="layui-input-inline" style="width: 60px;">
               <input type="number" name="minute" value="30" maxlength="2" max="59" min="0" class="layui-input"/>
           </div>
           <div class="layui-input-inline" style="width: 50px; vertical-align: middle; margin-left: -11px;">
               <input type="text" class="layui-input" readonly value="分钟" style=" background-color: #f6f6f6;">
           </div>
       </div>`);
                break;
            case 5: //N小时
                $("#suboption").append(` <div>
           <div class="layui-input-inline" style="width: 60px;">
               <input type="number" name="hour" value="1" max="23" maxlength="2" min="0" class="layui-input"/>
           </div>
           <div class="layui-input-inline" style="width: 50px; vertical-align: middle; margin-left: -11px;">
               <input type="text" class="layui-input" readonly value="小时" style=" background-color: #f6f6f6;">
           </div>
           <div class="layui-input-inline" style="width: 60px;">
               <input type="number" name="minute" value="30" maxlength="2" max="59" min="0" class="layui-input"/>
           </div>
           <div class="layui-input-inline" style="width: 50px; vertical-align: middle; margin-left: -11px;">
               <input type="text" class="layui-input" readonly value="分钟" style=" background-color: #f6f6f6;">
           </div>
       </div>`);
                break;
            case 6: //N分钟
                $("#suboption").append(`<div>
           <div class="layui-input-inline" style="width: 60px;">
               <input type="number" name="minute" value="3" maxlength="2" max="59" min="0" class="layui-input"/>
           </div>
           <div class="layui-input-inline" style="width: 50px; vertical-align: middle; margin-left: -11px;">
               <input type="text" class="layui-input" readonly value="分钟" style=" background-color: #f6f6f6;">
           </div>
       </div>`);
                break;
            case 7: //每月
                $("#suboption").append(` <div>
           <div class="layui-input-inline" style="width: 60px;">
               <input type="number" name="where1" value="3" max="31" maxlength="2" min="0" class="layui-input"/>
           </div>
           <div class="layui-input-inline" style="width: 50px; vertical-align: middle; margin-left: -11px;">
               <input type="text" class="layui-input" readonly value="日" style=" background-color: #f6f6f6;">
           </div>
           <div class="layui-input-inline" style="width: 60px;">
               <input type="number" name="hour" value="1" max="23" maxlength="2" min="0" class="layui-input"/>
           </div>
           <div class="layui-input-inline" style="width: 50px; vertical-align: middle; margin-left: -11px;">
               <input type="text" class="layui-input" readonly value="小时" style=" background-color: #f6f6f6;">
           </div>
           <div class="layui-input-inline" style="width: 60px;">
               <input type="number" name="minute" value="30" maxlength="2" max="59" min="0" class="layui-input"/>
           </div>
           <div class="layui-input-inline" style="width: 50px; vertical-align: middle; margin-left: -11px;">
               <input type="text" class="layui-input" readonly value="分钟" style=" background-color: #f6f6f6;">
           </div>
       </div>`);
                break;
        
    );

);


以上是关于解决Layui动态生成select下拉选择框不显示问题的主要内容,如果未能解决你的问题,请参考以下文章

Vue踩坑之 el-select下拉框多选,选择后赋值成功,输入框不显示选中的值

Vue踩坑之 el-select下拉框多选,选择后赋值成功,输入框不显示选中的值

Vue踩坑之 el-select下拉框多选,选择后赋值成功,输入框不显示选中的值

layui的select动态渲染不成功怎么办及解决方法

layui表格里面下拉框不显示

layui下拉选择框select不显示