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中,为什么要尽可能使用局部变量?
Apr 06 Javascript
解析ScrollPic在ie8下只滚动一遍,然后变为空白 ie6,ie7,chrome,firefox正常
Jun 26 Javascript
ECMAScript 5严格模式(Strict Mode)介绍
Mar 02 Javascript
jquery实现的省市区三级联动
Apr 02 Javascript
完美兼容多浏览器的js判断图片路径代码汇总
Apr 17 Javascript
JQuery实现带排序功能的权限选择实例
May 18 Javascript
jQuery绑定事件的几种实现方式
May 09 Javascript
Javascript操作表单实例讲解(下)
Jun 20 Javascript
JavaScript数据结构之二叉树的计数算法示例
Apr 13 Javascript
js 获取html5的data属性实现方法
Jul 28 Javascript
微信小程序富文本渲染引擎的详解
Sep 30 Javascript
vue组件实现进度条效果
Jun 06 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
第十四节 命名空间 [14]
2006/10/09 PHP
php自动给文章加关键词链接的函数代码
2012/11/29 PHP
PHP按一定比例压缩图片的方法
2018/10/12 PHP
用javascript实现读取txt文档的脚本
2007/07/20 Javascript
jquery 表格分页等操作实现代码(pagedown,pageup)
2010/04/11 Javascript
通过JavaScript控制字体大小的代码
2011/10/04 Javascript
javascript学习笔记(一) 在html中使用javascript
2012/06/18 Javascript
js数组的操作详解
2013/03/27 Javascript
使用jquery制作弹出框效果
2015/04/03 Javascript
jQuery实现标题有打字效果的焦点图代码
2015/11/16 Javascript
JavaScript性能优化之小知识总结
2015/11/20 Javascript
JSONP跨域请求实例详解
2016/07/04 Javascript
动态加载权限管理模块中的Vue组件
2018/01/16 Javascript
使用vue如何构建一个自动建站项目
2018/02/05 Javascript
你应该了解的JavaScript Array.map()五种用途小结
2018/11/14 Javascript
React性能优化系列之减少props改变的实现方法
2019/01/17 Javascript
vue模仿网易云音乐的单页面应用
2019/04/24 Javascript
微信小程序实现文件、图片上传功能
2020/08/18 Javascript
JS学习笔记之数组去重实现方法小结
2019/05/29 Javascript
js实现一个简易计算器
2020/03/30 Javascript
Vue优化:常见会导致内存泄漏问题及优化详解
2020/08/04 Javascript
JavaScript实现切换多张图片
2021/01/27 Javascript
[01:08]DOTA2次级职业联赛 - Shield战队宣传片
2014/12/01 DOTA
Python中用Spark模块的使用教程
2015/04/13 Python
HTML5 canvas 瀑布流文字效果的示例代码
2018/01/31 HTML / CSS
中国包裹转运寄送国际服务:Famiboat
2019/07/24 全球购物
美国领先的眼镜和太阳镜在线零售商:Glasses.com
2019/08/26 全球购物
Myprotein西班牙官网:欧洲第一大运动营养品牌
2020/02/24 全球购物
史上最全面的Java面试题汇总!
2015/02/03 面试题
个人充满哲理的自我评价
2014/02/20 职场文书
英语一分钟演讲稿
2014/04/29 职场文书
公务员学习习总书记“三严三实”思想汇报
2014/09/19 职场文书
2014年最新离婚协议书范本
2014/10/11 职场文书
大学生敬老院活动总结
2015/05/07 职场文书
主持稿开场白
2015/06/01 职场文书
HTML+VUE分页实现炫酷物联网大屏功能
2021/05/27 Vue.js