jeDate日期控件在项目中实际应用

简介: jeDate日期控件在项目中实际应用

需求:

1:可提供日期不超过当前日期或者(验证选中日期是否超过今天)

2:日期验证

3:input表格里面获取当前系统默认日期

4:选着日期点击选中后点确定按钮才关闭

5:验证结束日期大于开始日期


<!doctype html>
<html>
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no">
        <title> </title>
        <link type="text/css" rel="stylesheet" href="jeDate-gh-pages/test/jeDate-test.css">
        <link type="text/css" rel="stylesheet" href="jeDate-gh-pages/skin/jedate.css">
        <script type="text/javascript" src="jeDate-gh-pages/src/jedate.js"></script>
        <script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script>
    </head>
    <body>
        <input type="text" class="form-control input-medium" placeholder="开始时间" id="startTime" />
        <input type="text" class="form-control input-medium" placeholder="结束时间" id="endTime" />
        <button type="submit" id="btnsearch">搜索</button>
    </body>
    <script type="text/javascript">
        //可提供日期不超过当前日期
            Date.prototype.format = function(format) {
            var o = {
                "M+" : this.getMonth() + 1, // month
                "d+" : this.getDate(), // day
                "h+" : this.getHours(), // hour
                "m+" : this.getMinutes(), // minute
                "s+" : this.getSeconds(), // second
                "q+" : Math.floor((this.getMonth() + 3) / 3), // quarter
                "S" : this.getMilliseconds()
            // millisecond
            };
            if (/(y+)/.test(format)) {
                format = format.replace(RegExp.$1, (this.getFullYear() + "")
                        .substr(4 - RegExp.$1.length));
            }
            for ( var k in o) {
                if (new RegExp("(" + k + ")").test(format)) {
                    format = format.replace(RegExp.$1,
                            RegExp.$1.length == 1 ? o[k] : ("00" + o[k])
                                    .substr(("" + o[k]).length));
                }
            }
            return format;
        };
        var nowt = new Date().format("yyyy-MM-dd");
        //选中后点确定按钮才关闭
        jeDate("#startTime", {
            onClose : true,
            theme : {
                bgcolor : "#00A1CB",
                color : "#ffffff",
                pnColor : "#00CCFF"
            },
            format : 'YYYY-MM-DD hh:mm:ss',
            maxDate : nowt
        });
        jeDate("#endTime", {
            onClose : true,
            theme : {
                bgcolor : "#00A1CB",
                color : "#ffffff",
                pnColor : "#00CCFF"
            },
            format : 'YYYY-MM-DD hh:mm:ss',
            maxDate : nowt
        });
        //默认input是系统当前时间选择
        var mydateInput = document.getElementById("startTime");
        var date = new Date();
        /*  date.setMonth(date.getMonth()-1); */
        var dateString = date.getFullYear() + "-" + (date.getMonth() + 1) + "-"
                + date.getDate() + "  " + "8:00:00";
        mydateInput.value = dateString;
        var mydateInputs = document.getElementById("endTime");
        var dates = new Date();
        var dateStrings = dates.getFullYear() + "-" + (dates.getMonth() + 1)
                + "-" + dates.getDate() + "  " + "18:00:00";
        mydateInputs.value = dateStrings;
        // 点击事件
        $("#btnsearch").click(function() {
            if(validate()) {
                return;
            }
        })
        // 验证年月
        function validate(numb) {
            if($("#startTime").val() == '') {
                alert("开始日期不可为空");
                return true;
            }
            if(diffDate($("#startTime").val()) == 0) {
                alert("开始日期不能超过当前日期");
                return true;
            }
            if($("#endTime").val() == '') {
                alert("结束日期不可为空");
                return true;
            }
            if(diffDate($("#endTime").val()) == 0) {
                alert("结束日期不能超过当前日期");
                return true;
            }
            if(validateDate($("#startTime").val(), $("#endTime").val())) {
                alert('结束日期不得小于开始日期')
                return true;
            }
            return false;
        }
        // 验证选中日期是否超过今天(和可提供日期不超过当前日期查不多需求)
        function diffDate(evalue) {
            var date = new Date(Date.parse(evalue.replace(/-/g, "/")));
            if(new Date() >= date) {
                return 1;
            }
            return 0;
        }
        // 验证结束日期大于开始日期
        function validateDate(beginTime, endTime) {
            var bd = new Date(Date.parse(beginTime));
            var ed = new Date(Date.parse(endTime));
            return bd > ed;
        }
    </script>
</html>
相关文章
SwiftUI—方便用户选择日期的DatePicker日期拾取器
SwiftUI—方便用户选择日期的DatePicker日期拾取器
1667 0
SwiftUI—方便用户选择日期的DatePicker日期拾取器
|
3月前
|
前端开发 数据安全/隐私保护
【前端web入门第二天】03 表单-下拉菜单 文本域 label标签 按钮 【附注册信息综合案例】
本文档详细介绍了HTML表单的多种元素及其用法,包括下拉菜单(`&lt;select&gt;` 和 `&lt;option&gt;`)、文本域(`&lt;textarea&gt;`)、标签解释(`&lt;label&gt;`)、各类按钮(`&lt;button&gt;`)及表单重置功能、无语义布局标签(`&lt;div&gt;` 和 `&lt;span&gt;`)以及字符实体的应用。此外,还提供了一个完整的注册信息表单案例,涵盖个人信息、教育经历和工作经历等部分,展示了如何综合运用上述元素构建实用的表单。
【前端web入门第二天】03 表单-下拉菜单 文本域 label标签 按钮 【附注册信息综合案例】
|
4月前
ElementUI——日期范围选择得快捷选项
ElementUI——日期范围选择得快捷选项
53 0
element-ui时间选择器限制只能点击不让输入(整理)
element-ui时间选择器限制只能点击不让输入(整理)
|
JSON 前端开发 JavaScript
使用antd表格组件实现日程表
使用antd表格组件实现日程表
使用antd表格组件实现日程表
|
前端开发
前端工作总结184-element多选功能
前端工作总结184-element多选功能
83 0
前端工作总结184-element多选功能
|
JavaScript 前端开发
【JavaScript】案例 :复选框全选-全不选&省市二级联动以及课外扩展
本期主要介绍案例 :复选框全选-全不选&省市二级联动以及课外扩展
115 0
【JavaScript】案例 :复选框全选-全不选&省市二级联动以及课外扩展
|
JavaScript 前端开发
自制jquery可编辑的下拉框
昨天看到QQ登录的时候,可以选择以前登录过的账户,这个东西也可以在网站登录的时候用到,所以我就想做一个这样的插件;在网上查了很多,没有找到合适自己的,所以决定自动制作一个。 原理就是一个textbox加一个ul模拟下拉框,用font模拟一个下拉按钮。
自制jquery可编辑的下拉框
日期选择插件
在线演示 本地下载
1132 0

热门文章

最新文章