layui時間控件聯動:開始時間、結束時間,有效時間範圍

 初次使用,在這裏備份一下,以後Copy自己的得了(歡迎Copy代碼,若遇到問題,請麻煩回覆我一下)

@Styles.Render("~/Content/layuiadmin/layui/css/layui.css")
@Styles.Render("~/Content/layuiadmin/style/admin.css?v=1")
@Scripts.Render("~/Plugins/json3.min.js")
@Scripts.Render("~/Scripts/jquery-1.10.2.min.js")
@Scripts.Render("~/Content/layuiadmin/layui/layui.js")

<div class="layui-fluid layui-form">
    <div class="layui-card">
        <div class="layui-card-body">
            <div class="layui-form-item">

                <div class="layui-inline">
                    <label class="layui-form-label">開始時間:</label>
                    <div class="layui-input-inline">
                        <input type="text" name="beginDate" id="beginDate" autocomplete="off" class="layui-input laydate" placeholder="年-月-日">
                    </div>
                </div>

                <div class="layui-inline">
                    <label class="layui-form-label">結束時間:</label>
                    <div class="layui-input-inline">
                        <input type="text" name="endDate" id="endDate" autocomplete="off" class="layui-input laydate" placeholder="年-月-日">
                    </div>
                </div>

            </div>
        </div>
    </div>
</div>

<input type="hidden" id="hidMinListDate" value="1998-01-01" />
<input type="hidden" id="hidMaxListDate" value="@DateTime.Now.ToString("yyyy-MM-dd")" />
layui.use('laydate', function () {
    var laydate = layui.laydate;
    var minListDate = $('#hidMinListDate').val();//最小可選時間,例:1990-02-01
    var maxListDate = $('#hidMaxListDate').val();//最大可選時間,例:2200-12-31
    var begin = "#beginDate", end = "#endDate";//開始時間選擇框、結束時間選擇框:文本框
    var endChange = function (val, date) {
        if (date && date.year)
            begindate.config.max = {
                year: date.year,
                month: date.month - 1,//必須減1纔是正確值
                date: date.date,
                hours: date.hours,
                minutes: date.minutes,
                seconds: date.seconds
            };
        else {
            var dateInit = new Date(maxListDate.replace(/-/g, "/"));
            begindate.config.max = {
                year: dateInit.getFullYear(),
                month: dateInit.getMonth(),
                date: dateInit.getDate(),
                hours: dateInit.getHours(),
                minutes: dateInit.getMinutes(),
                seconds: dateInit.getSeconds()
            };
        }
    };
    var beginChange = function (val, date) {
        if (date && date.year)
            enddate.config.min = {
                year: date.year,
                month: date.month - 1,
                date: date.date,
                hours: date.hours,
                minutes: date.minutes,
                seconds: date.seconds
            };
        else {
            var dateInit = new Date(minListDate.replace(/-/g, "/"));
            enddate.config.min = {
                year: dateInit.getFullYear(),
                month: dateInit.getMonth(),
                date: dateInit.getDate(),
                hours: dateInit.getHours(),
                minutes: dateInit.getMinutes(),
                seconds: dateInit.getSeconds()
            };
        }
    };
    var enddate = laydate.render({
        elem: end,
        format: 'yyyy-MM-dd',
        min: minListDate,
        max: maxListDate,
        done: endChange
    });
    var begindate = laydate.render({
        elem: begin,
        format: 'yyyy-MM-dd',
        min: minListDate,
        max: maxListDate,
        done: beginChange
    });
});

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章