实现效果:如果先选离店日期,再选入住日期的话,入住日期大于离店日期则离店日期+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日期选择控件的更多相关文章

  1. 扩展BindingList,防止增加、删除项时自动更新界面而不出现“跨线程操作界面控件 corss thread operation”异常

    在做界面程序时,常常需要一些数据类,界面元素通过绑定等方式显示出数据,然而由于UI线程不是线程安全的,一般都需要通过Invoke等方式来调用界面控件.但对于数据绑定bindingList而言,没法响应 ...

  2. JS之document例题讲解1(两张表之间数据转移、日期时间选择、子菜单下拉、用div做下拉菜单、事件总结)

    作业一:两个列表之间数据从一个列表移动到另一个列表 <div style="width:600px; height:500px; margin-top:20px"> & ...

  3. mysql日期处在某两个时间段之间的between比较

    where SYSDATE() between '2018-08-28 09:21:48' and '2018-08-28 09:25:48' sysdate()等于2018-08-28 09:23: ...

  4. asp.net中选择数字时,另外的数字同时发生变化(适用dev控件)

      关键: <ClientSideEvents ValueChanged="AgioChanged" />   <div class="col-sm-4 ...

  5. AE、AS调用时用代码提供许可(不需要添加LicenseControl控件)

    private void CheckBindLicense() { ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.EngineOrDe ...

  6. FineUI 3升级4.1.1时,SingleClickExpand属性改什么了? (树控件单击展开)

    private Tree InitTreeMenu(List<Menu> menus) { Tree treeMenu = new Tree(); treeMenu.ID = " ...

  7. arrow:让Python的日期与时间变的更好

    在处理数据的时候经常会碰见各种时间数据,但因为时间数据的格式不统一,所以导致数据处理的时候有一些麻烦.Python的标准库提供了相应模块,但可用性却不高,也不够人性化.本专栏之前已经有文章介绍过在R中 ...

  8. 令人头痛的ExtJS日期时间控件

    1 缘由 Ext提供了日期.时间的控件,但没有将日期和时间组合在一起的控件.在网上搜索时,有前辈创建或重写了时间相关的类,并提供了源码.不得不说那位作者对 extjs 框架理解得很透彻,虽然不知道他当 ...

  9. 在MonthCalendar控件中选中日期

    Calendar.MONTH Calendar now=Calendar.getInstance();System.out.print(now.get(Calendar.MONTH));得到的月份少1 ...

随机推荐

  1. CentOS 6 下升级安装Mysql 5.5 完整步骤

    使用系统CentOS 6.2本来已经系统自带安装了mysql 5.1,但是奈何5.1不支持utf8mb4字符集(详见:http://blog.csdn.net/shootyou/article/det ...

  2. [转]sql:除非另外还指定了 TOP 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子查询

    执行sql语句: select * from ( select * from tab where ID>20 order by userID desc ) as a order by date ...

  3. java后台分页实例一

    后台框架:jfinal + velocity.前台框架:jquery  页面 <!DOCTYPE html> <html> <head> <meta char ...

  4. J2EE学术交流感悟——分层

        学术交流进行了一周,是关于J2EE的学术报告. 目的是让我们在学习的时候对"所学知识"有一个宏观的认识. 開始是以为环绕"J2EE"进行解说,怕自己没有 ...

  5. atitit.产品console 日志的aticonsole 方案处理总结

    atitit.产品console 日志的aticonsole 方案处理总结 1. 主要原理流程 1 2. 调用代码 1 3. 内部主要实现 1 3.1. 放入消息 1 3.2. 读取消息 2 默认可以 ...

  6. Atitit.线程 死锁 跑飞 的检测与自动解除 与手动解除死锁 java c# .net php javascript.

    Atitit.线程 死锁 跑飞 的检测与自动解除 与手动解除死锁 java c# .net php javascript. 1. 现象::主程序卡住无反应,多行任务不往下执行 1 2. 原因::使用j ...

  7. atitit.GUI图片非规则按钮跟动态图片切换的实现模式总结java .net c# c++ web html js

    atitit.GUI图片非规则按钮跟动态图片切换的实现模式总结java .net c# c++ web html js 1. 图片按钮的效果总结 1 1.1. 按钮图片自动缩放的. 1 1.2. 不要 ...

  8. atitit.Atitit. Gui控件and面板-----服务端控件 java struts的实现最佳实践

    atitit.Atitit.  Gui控件and面板-----服务端控件 java struts的实现最佳实践 1. 服务器控件的类别 1 1.1. 数据控件:该类控件可细分为两种类型:数据源控件和数 ...

  9. Codeforces Round #235 (Div. 2) C. Team

    C. Team time limit per test 1 second memory limit per test 256 megabytes input standard input output ...

  10. python3+spark2.1+kafka0.8+sparkStreaming

    python代码: import time from pyspark import SparkContext from pyspark.streaming import StreamingContex ...