解决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;
        }
    });

});


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值