myDate97 设置开始时间和结束时间
myDate97 设置开始时间和结束时间
CreationTime--2018年8月28日16点46分
Author:Marydon
1.简单示例
第一步:引入My97DatePicker/WdatePicker.js
第二步:js代码
<script type="text/javascript">
window.onload = function() {
// 开始时间默认值为本月1号
jQuery('#V_START').val(new Date().format('yyyy-MM-01'));
// 结束时间默认值为今天
jQuery('#V_END').val(new Date().format('yyyy-MM-dd'));
}
</script>
第三步:html代码
开始时间:
<input name="V_START" class="TextBox" readonly="readonly" id="V_START" type="text"
onclick="WdatePicker({isShowClear:false, dateFmt:'yyyy-MM-dd', maxDate:'#F{$dp.$D(\'V_END\')}'});"/>
结束时间:
<input name="V_END" class="TextBox" readonly="readonly" id="V_END" type="text"
onclick="WdatePicker({isShowClear:false, dateFmt:'yyyy-MM-dd', minDate:'#F{$dp.$D(\'V_START\')}', maxDate:'%y-%M-%d'});"/>
效果展示:
默认值

最大开始时间

最小结束时间与最大结束时间

说明:
开始时间和结束时间最好设置默认时间,既有利于数据查出指定区间数据而不是所有数据,又有利于提高用户体验;
禁用了清空按钮;
日期格式:yyyy-MM-dd;
开始时间的最大日期不能大于结束时间;
结束时间的最小日期不能小于开始时间;
结束时间的最大日期不能超过系统当前时间。
2.综合运用
需求说明:
统计条件为时间段(日、月、年);
以日单位:x年x月x日- x年x月x日(最大选择范围14天);
月:x年x月- x年x月(最大选择范围12个月);
年:x年- x年(最大选择范围10年)。
js代码
<script type="text/javascript">
// 默认值
// 选中年-月-日
$get('selectDate').selectedIndex = 2;
ctrlDateFormat("yyyy-MM-dd"); function ctrlDateFormat(dateFmt){
// 开始日期取值范围
var s_minDate = "";
var s_maxDate = "#F{$dp.$D('V_END')}";
// 结束日期取值范围
var e_minDate = "#F{$dp.$D('V_START')}";
var e_maxDate = "";
// 默认日期
var defaultDate = "";
// 获取系统当前日期
var date = new Date();
// 获取当前年
var currentYear = date.getFullYear();
// 获取当前月
var currentMonth = date.getMonth() + 1;
currentMonth = (currentMonth <= 9)?"0" + currentMonth:currentMonth;
// 获取当前日
var currentDay = date.getDate();
currentDay = (currentDay <= 9)?"0" + currentDay:currentDay; switch (dateFmt) {
case "yyyy":
// 选择范围: 10年
s_minDate = "#F{$dp.$D('V_END',{y:-9})}";
e_maxDate = "#F{$dp.$D('V_START', {y:+9})}";
defaultDate = currentYear;
break;
case "yyyy-MM":
// 选择范围: 12个月
s_minDate = "#F{$dp.$D('V_END',{M:-11})}";
e_maxDate = "#F{$dp.$D('V_START', {M:+11})}";
defaultDate = currentYear + "-" + currentMonth;
break;
case "yyyy-MM-dd":
// 选择范围: 14天
s_minDate = "#F{$dp.$D('V_END',{d:-13})}";
e_maxDate = "#F{$dp.$D('V_START', {d:+13})}";
defaultDate = currentYear + "-" + currentMonth + "-" + currentDay;
break;
default:
break;
}; // 设置默认值
$get('V_START').value = defaultDate;
$get('V_END').value = defaultDate;
// 开始日期、结束日期绑定点击事件
$get('V_START').onclick = function () {
WdatePicker({
isShowClear:false,
dateFmt:dateFmt,
minDate:s_minDate,
maxDate:s_maxDate
});
};
$get('V_END').onclick = function () {
WdatePicker({
isShowClear:false,
dateFmt:dateFmt,
minDate:e_minDate,
maxDate:e_maxDate
});
};
}
</script>
html代码
查询格式
<select onchange="ctrlDateFormat(this.value)" id="selectDate">
<option value="yyyy">年</option>
<option value="yyyy-MM">年-月</option>
<option value="yyyy-MM-dd">年-月-日</option>
</select>
开始时间:<input name="V_START" class="TextBox" readonly="readonly" id="V_START" type="text" />
结束时间:<input name="V_END" class="TextBox" readonly="readonly" id="V_END" type="text" />
效果展示:

2019/01/14
上面关于点击事件的代码存在bug:就是第一次变换查询格式,后面的日期格式会变化,以后不管你再怎么变换查询条件,
后面的日期格式都不会生效,解决方案:
使用jquery先将绑定的点击事件移除掉,再次绑定即可。
$('#V_START').unbind();
$('#V_START').click(function() {
WdatePicker({
isShowClear : false,
dateFmt : dateFmt,
minDate : s_minDate,
maxDate : s_maxDate
})
});
$('#V_END').unbind();
$('#V_END').click(function() {
WdatePicker({
isShowClear : false,
dateFmt : dateFmt,
minDate : e_minDate,
maxDate : e_maxDate
})
});
相关推荐:
myDate97 设置开始时间和结束时间的更多相关文章
- 【第十九篇】laydate设置起始时间,laydate设置开始时间和结束时间
laydate设置开始时间后,结束时间不可小于已选择的开始时间 laydate设置结束时间后,开始时间不可小于已选择的结束时间 //设置开始时间 var startDate = laydate.ren ...
- laydate设置起始时间,laydate设置开始时间和结束时间
//设置开始时间 var startDate = laydate.render({ elem: '#start_date',//开始时间选择控件id min:'2018-6-1', type: 'da ...
- WdatePicker 设置开始时间和结束时间
开始时间: <input type="text" placeholder=" -请选择- " readonly="readonly" ...
- project 2013 设置工期为1个工作日,但开始时间与结束时间不是同一天
1.问题描述 project2013在工期栏输入 1 ,在开始时间结束时间点自动安排,就会出现如下情况,会被误认为是两天 2.问题解决 文件-->选项-->常规-->日期格式选择 ...
- bootstrap-datetimepicker 进一步跟进~~~开始时间和结束时间的样式显示
上次简单介绍了一下:05.LoT.UI 前后台通用框架分解系列之——漂亮的时间选择器(http://www.cnblogs.com/dunitian/p/5524019.html) 这次深入再介绍一下 ...
- java获取本月开始时间和结束时间、上个月第一天和最后一天的时间以及当前日期往前推一周、一个月
import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.uti ...
- My97DatePicker:开始时间和结束时间的最大间隔为1个月30天,并且不大于当前时间(3种方法)
问题的背景 在之前做Web项目的时候,开始时间和结束时间,只有2个要求: 1.开始时间必须小于等于结束时间,不能超过当前时间. 2.结束时间必须大于等于开始时间,不能超过当前时间. 由于开始时间不大于 ...
- c# 获取 本周、本月、本季度、本年 的开始时间或结束时间
#region 获取 本周.本月.本季度.本年 的开始时间或结束时间 /// <summary> /// 获取结束时间 /// </summary> /// <param ...
- My97DatePicker 日期控制,开始时间不能>结束时间,结束时间不能<开始时间
<li>日期: <input type="text" style="margin-top: 5px;" value="${begin ...
随机推荐
- UESTC 2015dp专题 H 邱老师选妹子 数位dp
邱老师选妹子 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/contest/show/65 Descr ...
- 创建Server(tomcat)时候报Cannot create a server using the selected type
1.退出 eclipse 2.到[工程目录下]/.metadata/.plugins/org.eclipse.core.runtime/.settings 3.把org.eclipse.wst.ser ...
- myBatis 切换数据源(spring事务)理解
1. mybatis (SqlSessionTemplate)的动态代理 a) sqlSession的结构 b)SqlSession 结构 public class SqlSessionTemplat ...
- mysql server has gone away的原因
之前遇到开发询问“mysql server has gone away”的问题,想当然的就认为是由于太长时间没有操作,导致超过MySQL服务端上的wait_timeout的设置,最终连接被MySQL服 ...
- Android ButterKnife注解框架使用
这段时间学习了下ButterKnife注解框架,学习的不是特别深入,但是基础也差不多了,在此记录总结一下. ButterKnife是一个Android View注入的库,主要是注解的使用,可以减少很多 ...
- ELM327 OBD to RS232 Interpreters
http://elmelectronics.com/DSheets/ELM327DS.pdf
- 关闭OOMER
http://www.cnblogs.com/itfriend/archive/2011/12/14/2287160.html http://blog.csdn.net/gugemichael/art ...
- WebService如何抛出干净的异常
转载:http://www.cnblogs.com/ahdung/p/3953431.html 说明:[干净]指的是客户端在捕获WebService(下称WS)抛出的异常时,得到的ex.Message ...
- Windows上安装Git替代cmd命令行程序
git是一个版本管理系统,利用好它,可以管理你项目文件,每个文件的更新删除修改,它都知道,还可以还原回历史的某个版本. msysgit是Windows版的Git. 1.下载地址:https://git ...
- EntityFramework:再谈 “如何映射聚合?”
背景 在之前的文章中<DDD:使用EntityFramework的话,如果只为聚合根设计仓储,其它实体如何处理?>,我介绍了如何映射聚合以保证其语义,当时的结论是:聚合内除了聚合根之外的实 ...