jQuery ui 利用 datepicker插件实现开始日期(minDate)和结束日期(maxDate)


Posted in Javascript onMay 22, 2014

使用jQuery ui首先需要引入jQuery类库,jQuery ui js脚本和jQuery ui css样式表。代码示例如下:

<script src="js/jquery-1.7.1.js"></script>   
<script src="js/jquery-ui-1.8.18.custom.min.js"></script>
<link rel="stylesheet" type="text/css" href="css/smoothness/jquery-ui-1.8.18.custom.css">

注:引入js脚本时,需先引入jQuery类库,后引入jQuery ui 脚本

下面为两种实现步骤:

思路一:

第一步  实现两个datepicker组件。

  需要定义两个input标签,类型为text,并指定id属性

HTML代码如下

开始日期:<input type="text" id="start">
结束日期:<input type="text" id="end">

在js代码中得到两个input元素的jQuery对象,并将其转化为datepicker组件

Js代码如下

    $(document).ready(function(){  
        $("#start").datepicker();  
        $("#end").datepicker();  
    }); 

实现以上操作后,在页面中点击文本框,如果出现datepicker则代表成功。

第二步  设置开始和结束日期

  当选择开始日期的值后,则结束日期的最小值应该就是开始日期;同理,当选择结束日期后,开始日期的最大值则应该是结束日期。我们可以利用datepicker中的onSelect属性来设置当选择指定日期后触发的事件,通过该事件来指定对应的datepicker最小日期或最大日期。

Js代码如下

$("#start").datepicker({
    onSelect:function(dateText,inst){
       $("#end").datepicker("option","minDate",dateText);
    }
});
$("#end").datepicker({
    onSelect:function(dateText,inst){
        $("#start").datepicker("option","maxDate",dateText);
    }
});

注:匿名函数中的dateText属性为当前选择日期的字符串

思路二:

第一步  同时获得两个文本框对象,并将其转换为datepicker(利用jQuery的选择器)

HTML代码如下

开始日期:<input type="text" id="start">
结束日期:<input type="text" id="end">

Js代码如下

var dates = $("#start,#end");
dates.datepicker();

第二步  同样在选择日期后,触发onSelect事件,调用函数传递selectedDate参数,

函数体中首先判断触发事件的是开始日期还是结束日期,通过该判断来指定设置minDate或者是maxDate,然后利用not()函数,来反向选择另一个datepicker对象,并设置其对应的属性。

Js代码如下

dates.datepicker({
    onSelect: function(selectedDate){
       var option = this.id == "start" ? "minDate" : "maxDate";
       dates.not(this).datepicker("option", option, selectedDate);
    }
});

这样在设置一方后,另一方就会被限制了。

实现的效果如图:

jQuery ui 利用 datepicker插件实现开始日期(minDate)和结束日期(maxDate)

Javascript 相关文章推荐
javascript 贪吃蛇实现代码
Nov 22 Javascript
js实现拖拽 闭包函数详细介绍
Nov 25 Javascript
浅谈JavaScript函数节流
Dec 09 Javascript
使用js画图之饼图
Jan 12 Javascript
Javascript中的Prototype到底是什么
Feb 16 Javascript
Bootstrap CSS使用方法
Dec 23 Javascript
Mac中安装nvm的教程分享
Dec 11 Javascript
微信小程序自定义导航栏实例代码
Apr 05 Javascript
前端js中的事件循环eventloop机制详解
May 15 Javascript
javascript实现的时间格式加8小时功能示例
Jun 13 Javascript
Vue实现菜单切换功能
Nov 08 Javascript
Vue中nprogress页面加载进度条的方法实现
Nov 13 Javascript
浅谈JavaScript字符集
May 22 #Javascript
对new functionName()定义一个函数的理解
May 22 #Javascript
教你如何使用PHP输出中文JSON字符串
May 22 #Javascript
JS完整获取IE浏览器信息包括类型、版本、语言等等
May 22 #Javascript
JS常用表单验证方法总结
May 22 #Javascript
一个Action如何调用两个不同的方法
May 22 #Javascript
选择复选框按钮置灰否则按钮可用
May 22 #Javascript
You might like
PHP中mysqli_affected_rows作用行数返回值分析
2014/12/26 PHP
php实现替换手机号中间数字为*号及隐藏IP最后几位的方法
2016/11/16 PHP
Yii框架参数配置文件params用法实例分析
2019/09/11 PHP
PHP实现微信公众号验证Token的示例代码
2019/12/16 PHP
在网页中屏蔽快捷键
2006/09/06 Javascript
简略的前端架构心得&amp;&amp;基于editor为例子的编码小技巧
2010/11/25 Javascript
正负小数点后两位浮点数实现原理及代码
2013/09/06 Javascript
JQuery实现超链接鼠标提示效果的方法
2015/06/10 Javascript
javascript解析xml实现省市县三级联动的方法
2015/07/25 Javascript
JS组件Bootstrap实现下拉菜单效果代码
2016/04/26 Javascript
超实用的javascript时间处理总结
2016/08/16 Javascript
js获取css的各种样式并且设置他们的方法
2017/08/22 Javascript
js获取文件里面的所有文件名(实例)
2017/10/17 Javascript
JavaScript编程设计模式之观察者模式(Observer Pattern)实例详解
2017/10/25 Javascript
Vue中的混入的使用(vue mixins)
2018/06/01 Javascript
npm scripts 使用指南详解
2018/10/08 Javascript
JavaScript实现小球沿正弦曲线运动
2020/09/07 Javascript
axios+Vue实现上传文件显示进度功能
2019/04/14 Javascript
JS多个表单数据提交下的serialize()应用实例分析
2019/08/27 Javascript
原生JS利用transform实现banner的无限滚动示例代码
2020/06/15 Javascript
一波神奇的Python语句、函数与方法的使用技巧总结
2015/12/08 Python
Python的Flask框架及Nginx实现静态文件访问限制功能
2016/06/27 Python
浅谈python类属性的访问、设置和删除方法
2016/07/25 Python
利用标准库fractions模块让Python支持分数类型的方法详解
2017/08/11 Python
解决python2 绘图title,xlabel,ylabel出现中文乱码的问题
2019/01/29 Python
Django中在xadmin中集成DjangoUeditor过程详解
2019/07/24 Python
雅诗兰黛澳大利亚官网:Estée Lauder澳大利亚
2019/05/31 全球购物
亚洲领先的设计购物网站:Pinkoi
2020/11/26 全球购物
shallow copy和deep copy的区别
2016/05/09 面试题
生物科学专业个人求职信范文
2013/12/05 职场文书
大三预备党员入党思想汇报
2014/01/08 职场文书
入党积极分子自我鉴定
2014/02/18 职场文书
毕业实习计划书
2015/01/16 职场文书
行政主管岗位职责范本
2015/04/09 职场文书
遇事可以测出您的见识与格局
2019/09/16 职场文书
Nginx解决前端访问资源跨域问题的方法详解
2021/03/31 Servers