场景:

1. 开始时间,和结束时间最大选择今天。

2. 开始时间和结束时间的最大时间间隔为30天。

jsp代码:

<!-- 时间段 -->
<form>
<!-- 开始时间格式规则直接绑定在input上 -->
开始时间:
<input type="text" style="line-height: 12px;" id="start_time_id" readonly="readonly" class="Wdate"
name="start_time_name" onClick="WdatePicker({readOnly:true,dateFmt:'yyyy-MM-dd ',maxDate:'#F{$dp.$D(\'end_time_id\')||\'%y-%M-%d\'}',minDate:'#F{$dp.$D(\'end_time_id\',{d:-29})}'})"
onchange="setEndTimeDurationWhileStartTimeChange();"/> <!-- 结束时间格式规则在js中进行及时调整 -->
结束时间:
<input type="text" style="line-height: 12px;" id="end_time_id" class="Wdate" name="end_time_name" readonly="readonly"/>
</form>

js代码:

// 结束时间:初始默认最大日期为今天
$(function(){
// 设置结束时间的最大可取值为today
$('#end_time_id').unbind("click");
$('#end_time_id').bind("click",function(){
WdatePicker({
readOnly:true,
dateFmt:'yyyy-MM-dd ',
minDate:'#F{$dp.$D(\'start_time_id\')}',
maxDate:'#F{\'%y-%M-%d\'}'
});
});
}); // 开始时间值改变时,改变结束时间值得范围
function setEndTimeDurationWhileStartTimeChange(){
var start = $('#start_time_id').val(); // 格式:2017-05-01 // 如果选中了开始时间
if(start != "" && start != null){
// endMaxDate = 开始时间+29天
start = start.replace(/-/g,"/");
var endMaxDate = new Date(start);
endMaxDate.setDate(endMaxDate.getDate()+29); // today = 今天
var today = new Date();
today.setHours(0);
today.setMinutes(0);
today.setSeconds(0);
today.setMilliseconds(0); // 如果endMaxDate>today
if(endMaxDate.getTime()>today.getTime()){
// 设置结束时间的最大可取值为today
$('#end_time_id').unbind("click");
$('#end_time_id').bind("click",function(){
WdatePicker({
readOnly:true,
dateFmt:'yyyy-MM-dd ',
minDate:'#F{$dp.$D(\'start_time_id\')}',
maxDate:'#F{\'%y-%M-%d\'}'
});
});
}else{
// 设置结束时间的最大可取值为endMaxDate
$('#end_time_id').unbind("click");
$('#end_time_id').bind("click",function(){
WdatePicker({
readOnly:true,
dateFmt:'yyyy-MM-dd ',
minDate:'#F{$dp.$D(\'start_time_id\')}',
maxDate:'#F{$dp.$D(\'start_time_id\',{d:29})}'
});
});
}
}
// 如果清空了开始时间,重设结束时间的范围,到今天为止
else{
// 设置结束时间的最大可取值为today
$('#end_time_id').unbind("click");
$('#end_time_id').bind("click",function(){
WdatePicker({
readOnly:true,
dateFmt:'yyyy-MM-dd ',
minDate:'#F{$dp.$D(\'start_time_id\')}',
maxDate:'#F{\'%y-%M-%d\'}'
});
});
}
}

最新文章

  1. JSP通过IP获取用户(客户端)的地理位置信息
  2. winform下mapxtreme2008 v7.0 生成release版提示找不到dll问题
  3. 深入理解Java Proxy机制(转)
  4. Java中的锁分类
  5. java Hibernate 处理 oracle xmltype类型
  6. JAVA for(i = 0; i&lt;a.length; i++) 解析
  7. 天坑!c++调用python,遭遇R6034问题
  8. angular 2 - 004 routing 路由
  9. 将java项目传输到centos7服务端
  10. react+dva+antd/antd-mobile
  11. Bus Blaster v4 design overview
  12. Ubuntu 12.04下LVM2安装和操作实验
  13. luoguP4696 [CEOI2011]Matching KMP+树状数组
  14. Android之HttpPost与HttpGet使用
  15. 本人擅长Ai、Fw、Fl、Br、Ae、Pr、Id、Ps等
  16. Sample-Code:Translator
  17. [orangehrm] 安装问题集合
  18. (4) python--seaborn
  19. js中this
  20. uvm_analysis_port——TLM1事务级建模方法(二)

热门文章

  1. [国嵌笔记][030][U-Boot工作流程分析]
  2. 改进ban冒泡排序
  3. Oracle_数据库表的约束
  4. 通过JiaThis API接口自定义分享功能按钮实现分享功能本地化
  5. asp.net -mvc框架复习(8)-实现用户登录模型部分的编写
  6. AVFrame转换到Mat,yuv420p转换到RGB源代码
  7. 【开发技术】java中代码检查checkStyle结果分析
  8. jQuery 表单
  9. Oracle创建、管理撤销表空间
  10. 关于 httpUrlConnection 的 setDoOutput 与 setDoInput的区别