Layui实现日期选择器限定

本文介绍如何使用layui时间选择器实现时间片(天、周、月、季度)的联动选择,通过示例代码详细解释了如何根据所选时间片动态调整时间范围,以满足数据库分表查询的需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<div class="layui-form-item" >
	<label class="layui-form-label" style="width: 100px">
		试跑日期:
	</label>
	<div class="layui-inline">
		<input class="layui-input" lay-verify="required" type="text" id="runTimeStart" name="runTimeStart" readonly/>
	</div>---&nbsp;
    <div class="layui-inline">
		<input class="layui-input" lay-verify="required" type="text" id="runTimeEnd" name="runTimeEnd"  readonly/>
	</div>
</div>

<div class="layui-form-item">
	<label class="layui-form-label" style="width: 100px">
		<span class="we-red">*</span>时间片:
	</label>
	<div class="layui-input-inline">
		<select lay-filter="slotSelect" id="slotSelect" name="slot">
			<option value="day">天</option>
			<option value="week">周</option>
			<option value="month">月</option>
			<option value="season"  >季度</option>
		</select>
	</div>
</div>

选择时间片后进行改变时间限定,主要区分季度和当月,原因时数据库根据月份数据分表,需要根据月份查不同的表。layui的时间选择器使用方法可以看看官方文档。

layui.use(['laydate', 'jquery', 'form','admin'], function() {
        var laydate = layui.laydate,
            $ = layui.jquery,
            admin = layui.admin;
            var form = layui.form;
        var startTime;
        var endTime;
        //执行一个laydate实例
        startTime = laydate.render({
            elem: '#runTimeStart',//指定元素
            showBottom: false,
            done:function(value,date){   //指定开始时间时限定结束时间最大最小日期
                if (date.year != null) {
                    var solotSelect = $("#slotSelect").val();
                    if (solotSelect != "season"){
                        endTime.config.min={
                            year:date.year,
                            month:date.month-1,
                            date:date.date
                        };
                        endTime.config.max={
                            year:date.year,
                            month:date.month-1,
                            date:laydate.getEndDate()
                        };
                    }else {
                        endTime.config.min={
                            year:date.year,
                            month:date.month-1,
                            date:date.date
                        };
                        endTime.config.max={
                            year:date.year,
                            month:date.month+1,
                            date:laydate.getEndDate()-1
                        };
                    }
                }
            }
        });
        endTime = laydate.render({
            elem: '#runTimeEnd',//指定元素
            showBottom: false,
            done:function(value,date){   //指定结束时间时限定开始时间最大最小日期
                if (date.year != null){
                    var solotSelect = $("#slotSelect").val();
                    if (solotSelect != "season"){
                        startTime.config.min={
                            year:date.year,
                            month:date.month-1
                        };
                        startTime.config.max={
                            year:date.year,
                            month:date.month-1,
                            date:date.date
                        };
                    }else {
                        startTime.config.min={
                            year:date.year,
                            month:date.month-3
                        };
                        startTime.config.max={
                            year:date.year,
                            month:date.month-1,
                            date:date.date
                        };
                    }
                }
            }
        });
    });
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值