My97DatePicker:开始时间和结束时间的最大间隔为10天,并且不大于当前时间
2015-06-03 14:19
519 查看
My97DatePicker是一款很好用的日期插件,有很强的扩展性,可以随意的限制最大值和最小值,还可以调用自定义方法(通过ajax方式来获取服务器的时间)来限制日期插件的最大值。最近项目里用到一个功能,要求两个时间的最大范围不能超过10天,开始时间不能大于结束时间并且两者都不能大于当前服务器的时间。在网上查了很多资料自己又写了一部分代码,终于把功能给完善了。下面就来介绍一下主要代码(因为后台代码不太全,下面的例子里只取客户端的当时时间来演示)。
一、html部分
注:#F{}里可以写自定义脚本,#F{$dp.$D(\'endTime\')||currentTime()}, 当结束时间为空时,将调用 currentTime()来获取当前时间
二、js部分
三、实例下载地址:http://download.csdn.net/detail/zdx1515888659/8767819
注:下载地址里的例子有点问题,但是没法儿改了,自己对照博文改一下吧
一、html部分
<body> <input type="text" name="jccjJmPz.beginTime" id="startTime" onclick="WdatePicker({el:'startTime',dateFmt:'yyyy-MM-dd HH:mm:ss', minDate:'#F{$dp.$D(\'endTime\',{d:-10})}',maxDate:'#F{$dp.$D(\'endTime\')||currentTime()}' })" class="Wdate" /> 至 <input type="text" name="jccjJmPz.endTime" id="endTime" onclick="WdatePicker({el:'endTime',dateFmt:'yyyy-MM-dd HH:mm:ss', <span style="white-space:pre"> </span>minDate:'#F{$dp.$D(\'startTime\')}',maxDate:getMaxDate() })" class="Wdate" /> </body>
注:#F{}里可以写自定义脚本,#F{$dp.$D(\'endTime\')||currentTime()}, 当结束时间为空时,将调用 currentTime()来获取当前时间
二、js部分
//此方法用于获取数据库服务器的时间,代码不完整,如果有需求的话自己实现吧。 function DBCurrentTime() { var dbCurrentTime=""; $.ajax({ type:'post', dataType:"text", async:false, url:"../**!getDBCurrentTime.do?time="+new Date()+"'/>",//查询数据库时间用到的SQL:select to_char(sysdate,'yyyy-MM-dd hh24:mi:ss') from dual success:function(data,textStatus){ if(textStatus=="success"){ dbCurrentTime=data; } }, error:function(){ dbCurrentTime = currentTime(); } }) return (dbCurrentTime); } function currentTime() { var now = new Date(); var year = now.getFullYear(); var month = now.getMonth() + 1; var day = now.getDate(); var hh = now.getHours(); var mm = now.getMinutes(); var clock = year + "-"; if (month < 10) clock += "0"; clock += month + "-"; if (day < 10) clock += "0"; clock += day + " "; if (hh < 10) clock += "0"; clock += hh + ":"; if (mm < 10) clock += '0'; clock += mm; return (clock); } <pre name="code" class="javascript">//计算结束时间的最大值 function getMaxDate(){ var clock=currentTime(); var dt; var times=0; dt=$("#startTime").val(); if(dt!=''){ times =Date.parse(dt.replace(/-/g,'/'))+10*24*60*60*1000;//时间间隔为10天 if(times-Date.parse(clock.replace(/-/g,'/'))<0){ var d1 = new Date(times); var year = d1.getFullYear(); var month = d1.getMonth() + 1; //月份以0开头 var day = d1.getDate(); var hh = d1.getHours(); var mm = d1.getMinutes(); var clock = year + "-"; if (month < 10) clock += "0"; clock += month + "-"; if (day < 10) clock += "0"; clock += day + " "; if (hh < 10) clock += "0"; clock += hh + ":"; if (mm < 10) clock += '0'; clock += mm; } } return clock; }
三、实例下载地址:http://download.csdn.net/detail/zdx1515888659/8767819
注:下载地址里的例子有点问题,但是没法儿改了,自己对照博文改一下吧
相关文章推荐
- 6.2.3.2 BLOB 和 TEXT 类型
- 细说javascript 中的 window.open() 参数设置
- (2)虚拟机下hadoop1.1.2集群环境搭建
- IOS 03 QQ登陆界面
- 双重校验的单例模式
- linux 下配置两个网卡桥接
- 继承ViewGroup实现Scroll滑动效果
- Algorithms—36.Valid Sudoku
- Android中shape的基本使用
- java基础(七)--- set
- python中的zip学习
- [.net 面向对象编程基础] (4) 基础中的基础——数据类型转换
- Aforge.net摄像头旋转代码
- HDU---1480-钥匙计数之二
- KafkaSpout之PartitionManager
- 第一节:创建自己的每一个场景
- [Asp.net 5] Logging-新日志系统目录
- jQuery学习笔记3--网页字体变大变小
- 使用gsoap进行soap开发
- 4.3-4