日期选择时两个日期之间的动态控制--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 ...
随机推荐
- Spring IOC和AOP 基础
1 spring中注入资源是通过描述来实现的,在 spring 中是通过注解或者 XML 描述.spring 中IOC 注入方式有三种 1)构造方法注入 2)setter 注入 3)接口注入 1.1) ...
- vue组件调用(全局调用和局部调用)
当用vue-cli创建一个项目后, 创建项目的方法: https://www.cnblogs.com/fps2tao/p/9376847.html 编写了组件怎么,在其他组件中调用了? 组件listB ...
- [转]IIS6 伪静态 IIS文件类型映射配置方法 【图解】
1.右键点击 要设置网站的网站 2.属性 -->主目录 -->配置--> 3.如右侧窗口,找到 .aspx 扩展名-->编辑-->复制 可执行文件的路径-->关闭 ...
- [C++]文件头引入#ifndef与#define有什么作用
相关资料:https://zhidao.baidu.com/question/15822506.html 在c.h文件中,a.h文件被包含了两次.而C++规定在同一文件中只能将同一个头文件包含一次.# ...
- Android Studio运行程序,检测不到(夜神、Genymotion)模拟器
用了统一给的android studio,运行程序,检测不到模拟器(夜神). 又新建了一个系统的模拟器,运行,提示ANDROID_SDK_ROOT is undefined 在环境变量中配置之后,夜神 ...
- C# Dictionary 复制
Dictionary<string, int> dictionary = new Dictionary<string, int>(); dictionary.Add(" ...
- [Linux内核]软中断与硬中断
转自:http://blog.csdn.net/zhangskd/article/details/21992933 本文主要内容:硬中断 / 软中断的原理和实现 内核版本:2.6.37 Author: ...
- netifd
Netifd是OpenWrt中用于进行网络配置的守护进程,基本上所有网络接口设置以及内核的netlink事件都可以由netifd来处理完成. 在启动netifd之前用户需要将所需的配置写入uci配置文 ...
- 构造 - HDU 5402 Travelling Salesman Problem
Travelling Salesman Problem Problem's Link: http://acm.hdu.edu.cn/showproblem.php?pid=5402 Mean: 现有一 ...
- JS侦测设备旋转方向
window.onload = window.onresize = function initialLoad(){updateOrientation();} function updateOrient ...