日期选择时两个日期之间的动态控制--My97datepicker日期选择控件
实现效果:如果先选离店日期,再选入住日期的话,入住日期大于离店日期则离店日期+1天否则离店日期不变,先选入店再选离店离店,离店只能选之后的日期,且两个日期之间最多间隔88天
<div class="searchbook-nape">入住日期:</div>
<div class="searchbook-nav">
<input type="text" class="searchbook-ipt validate[required]" id="CheckInDate" name="CheckInDate"/>
</div> <div class="searchbook-nape">离店日期:</div>
<div class="searchbook-nav">
<input type="text" class="searchbook-ipt validate[required]" id="CheckOutDate" name="CheckOutDate"/>
</div>
$("[name=CheckInDate]")
.focus(
function () {
pickCheckInDate();
});
$("[name=CheckInDate]")
.click(
function () {
if ($("[name=CheckInDate]").is(":focus")) {
pickCheckInDate();
}
});
function pickCheckInDate() {
var minDate = new Date();
var maxDate = new Date();
maxDate.setDate(maxDate.getDate() + 88);
WdatePicker({
skin: 'default',
doubleCalendar: true,
dateFmt: 'yyyy-MM-dd',
minDate: minDate.format('yyyy-MM-dd'),
maxDate: maxDate.format('yyyy-MM-dd'),
onpicked: function () {
var checkOutDate = $('[name=CheckOutDate]').val();
if (checkOutDate) {
var min = new Date(checkOutDate);
min.setDate(min.getDate() - 28);
var checkInDate = $('[name=CheckInDate]').val();
var date = new Date(checkInDate);
var max = new Date(checkOutDate);
if (date < min || date >= max) {
date.setDate(date.getDate() + 1);
$('[name=CheckOutDate]').val(date.format('yyyy-MM-dd'));
}
}
}
});
}
$("[name=CheckOutDate]")
.focus(
function () {
pickCheckOutDate();
});
$("[name=CheckOutDate]")
.click(
function () {
if ($("[name=CheckOutDate]").is(":focus")) {
pickCheckOutDate();
}
});
function pickCheckOutDate() {
var minDate;
var maxDate = new Date();
maxDate.setDate(maxDate.getDate() + 89);
if ($("[name=CheckInDate]").val()) {
var checkInDate = $('[name=CheckInDate]').val();
minDate = new Date(checkInDate);
var maxDate28 = new Date(checkInDate);
maxDate28.setDate(maxDate28.getDate() + 28);
if (maxDate28 < maxDate) {
maxDate = maxDate28;
}
} else {
minDate = new Date();
}
minDate.setDate(minDate.getDate() + 1);
WdatePicker({
skin: "default",
doubleCalendar: true,
dateFmt: "yyyy-MM-dd",
minDate: minDate.format("yyyy-MM-dd"),
maxDate: maxDate.format("yyyy-MM-dd")
});
}
日期选择时两个日期之间的动态控制--My97datepicker日期选择控件的更多相关文章
- 扩展BindingList,防止增加、删除项时自动更新界面而不出现“跨线程操作界面控件 corss thread operation”异常
在做界面程序时,常常需要一些数据类,界面元素通过绑定等方式显示出数据,然而由于UI线程不是线程安全的,一般都需要通过Invoke等方式来调用界面控件.但对于数据绑定bindingList而言,没法响应 ...
- JS之document例题讲解1(两张表之间数据转移、日期时间选择、子菜单下拉、用div做下拉菜单、事件总结)
作业一:两个列表之间数据从一个列表移动到另一个列表 <div style="width:600px; height:500px; margin-top:20px"> & ...
- mysql日期处在某两个时间段之间的between比较
where SYSDATE() between '2018-08-28 09:21:48' and '2018-08-28 09:25:48' sysdate()等于2018-08-28 09:23: ...
- asp.net中选择数字时,另外的数字同时发生变化(适用dev控件)
关键: <ClientSideEvents ValueChanged="AgioChanged" /> <div class="col-sm-4 ...
- AE、AS调用时用代码提供许可(不需要添加LicenseControl控件)
private void CheckBindLicense() { ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.EngineOrDe ...
- FineUI 3升级4.1.1时,SingleClickExpand属性改什么了? (树控件单击展开)
private Tree InitTreeMenu(List<Menu> menus) { Tree treeMenu = new Tree(); treeMenu.ID = " ...
- arrow:让Python的日期与时间变的更好
在处理数据的时候经常会碰见各种时间数据,但因为时间数据的格式不统一,所以导致数据处理的时候有一些麻烦.Python的标准库提供了相应模块,但可用性却不高,也不够人性化.本专栏之前已经有文章介绍过在R中 ...
- 令人头痛的ExtJS日期时间控件
1 缘由 Ext提供了日期.时间的控件,但没有将日期和时间组合在一起的控件.在网上搜索时,有前辈创建或重写了时间相关的类,并提供了源码.不得不说那位作者对 extjs 框架理解得很透彻,虽然不知道他当 ...
- 在MonthCalendar控件中选中日期
Calendar.MONTH Calendar now=Calendar.getInstance();System.out.print(now.get(Calendar.MONTH));得到的月份少1 ...
随机推荐
- atitit.报表最佳实践oae 与报表引擎选型
atitit.报表最佳实践oae 与报表引擎选型 1. 报表的主要的功能and结构 2 1.1. 查询设计器(配置化,metadata in html) ,anno 2 1.2. 查询引擎 2 1.3 ...
- Java类的连接与初始化 (及2013阿里初始化笔试题解析)
Java虚拟机通过装载.连接.初始化来使得一个Java类型可以被Java程序所使用,如下图所示,其中连接过程又分为验证.准备.解析三个部分.其中部分类的解析过程可以推迟到程序真正使用其某个符号引用时再 ...
- -[__NSArrayI removeAllObjects]: unrecognized selector sent to instance 0x7fa8dc830110
问题 今天做项目,遇到了这个问题 -[__NSArrayI removeAllObjects]: unrecognized selector sent to instance 0x7fa8dc8301 ...
- iOS开发总结-Xcode常见错误
iOS开发总结-Xcode常见错误 "file/file.h"filenotfound 如果遇到这种类型的问题报错,可以分为三部来解决,由简到复杂一步一步来,直到解决问题位置. 1 ...
- 高性能爬虫——asynicio模块
一 背景知识 爬虫的本质就是一个socket客户端与服务端的通信过程,如果我们有多个url待爬取,只用一个线程且采用串行的方式执行,那只能等待爬取一个结束后才能继续下一个,效率会非常低. 需要强调 ...
- js基本知识1
Javascript 作用 1. 网页特效 2. 用户交互 3. 表单验证 Js 就是可以用来控制 结构 和 样式 . 1.2 体验js 认识常用的三个输出语句. 都属于 js 内置对象 . 大家买手 ...
- xadmin 问题总结
pip install django-import-export
- 部署静态页面到nginx
1.将页面上传到某个位置.比如:/home/myapp/navi 2. server_name localhost; localhost 更换为自己的域名 3.更改配置文件./usr/local/n ...
- vue 单元测试
单元测试 配置和工具 任何兼容基于模块的构建系统都可以正常使用,但如果你需要一个具体的建议,可以使用Karma进行自动化测试.它有很多社区版的插件,包括对webpack和browserify的支持. ...
- 记录一个glibc 导致的段错误以及gdb 移植
上一篇我有相关关于一个段错误的记录,现在记录当时的段错误具体是在哪里的. // 从 GNU 的官网下载当前在使用的 glibc 的源代码以及最新的 glibc 源代码 // 地址如下: http:// ...