实现效果:如果先选离店日期,再选入住日期的话,入住日期大于离店日期则离店日期+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. linux实现ssh免密码登录

    linux实现ssh免密码登录 本地系统执行 ssh-keygen -t rsa 命令,生成密钥文件 在相应的目录下查看生成的密钥文件,其中:id_rsa为私钥文件,id_rsa.pub为公钥文件 本 ...

  2. SpringBoot接口服务处理Whitelabel Error Page

    转载请注明来源:http://blog.csdn.net/loongshawn/article/details/50915979 <SpringBoot接口服务处理Whitelabel Erro ...

  3. MFS排错

    [root@Nginx_Master mfs]# /app/server/mfs/sbin/mfsmaster start working directory: /app/server/mfs/var ...

  4. jq使用自定义属性实现有title的tab切换

    <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8&quo ...

  5. ibatis时间比较大小

     <![CDATA[          A.RFID_Time >= #StartTime#          ]]>时间搜索功能 A.RFID_Time <![CDATA[  ...

  6. alsamixer + alsactl 控制放音通道

    1 使用alsamixer的gui界面配置放音(控制OUT1,OUT2的音量); 2 退出alsamixer,使用alsactl  store生成配置文件,文件位于/etc/asound.state; ...

  7. selenium中WebElement.getText()为空解决方法

    当使用getText()获取一个普通的链接文本时: <a href="http://www.baidu.com">baidu</a> 如果得到的文本只为空, ...

  8. HeadFisrt 设计模式03 装饰者

    类应该对扩展开放, 对修改关闭. 所谓装饰者模式, 是指用其他的类来装饰某个类, 装饰者说白了就是使用 has-a 来代替 is-a 隐喻 咖啡店, 有很多种咖啡, 咖啡里还要增加一些 milk, 面 ...

  9. python ascii codec can't decode

    提示错误: UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 240: ordinal not in range ...

  10. 常用cmd

    net use 查询相应的共享文件 control userpasswords2--修改计算机的网络凭证 删除计算机记录的网络共享凭证 重启网络