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 相关文章推荐
document对象execCommand的command参数介绍
Aug 01 Javascript
IE 下的只读 innerHTML
Aug 21 Javascript
jquery 定位input元素的几种方法小结
Jul 28 Javascript
jquery二级导航内容均分的原理及实现
Aug 13 Javascript
JavaScript检查某个function是否是原生代码的方法
Aug 20 Javascript
jQuery基础语法实例入门
Dec 23 Javascript
TableSort.js表格排序插件使用方法详解
Feb 10 Javascript
完美实现js选项卡切换效果(一)
Mar 08 Javascript
微信小程序 获取二维码实例详解
Jun 23 Javascript
Angular实现下载安装包的功能代码分享
Sep 05 Javascript
vue+element树组件 实现树懒加载的过程详解
Oct 21 Javascript
vue如何在用户要关闭当前网页时弹出提示的实现
May 31 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
粗略计算在线时间,bug:ip相同
2006/12/09 PHP
PHP 利用Mail_MimeDecode类提取邮件信息示例
2014/01/26 PHP
Yii2数据库操作常用方法小结
2017/05/04 PHP
实例介绍PHP删除数组中的重复元素
2019/03/03 PHP
不错的asp中显示新闻的功能
2006/10/13 Javascript
javascript 面向对象继承
2009/11/26 Javascript
JS打开新窗口防止被浏览器阻止的方法
2015/01/03 Javascript
jquery处理页面弹出层查询数据等待操作实例
2015/03/25 Javascript
js采用concat和sort将N个数组拼接起来的方法
2016/01/21 Javascript
JavaScript的事件机制详解
2017/01/17 Javascript
Vue.js -- 过滤器使用总结
2017/02/18 Javascript
详解vue组件化开发-vuex状态管理库
2017/04/10 Javascript
node+vue实现用户注册和头像上传的实例代码
2017/07/20 Javascript
利用JS动态生成隔行换色HTML表格的两种方法
2018/10/09 Javascript
序列化模块json代码实例详解
2020/03/03 Javascript
[01:05:24]Ti4 冒泡赛第二天 iG vs NEWBEE 3
2014/07/15 DOTA
[44:58]2018DOTA2亚洲邀请赛 4.5 淘汰赛 LGD vs Liquid 第二场
2018/04/06 DOTA
[25:59]Newbee vs TNC 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
python创建只读属性对象的方法(ReadOnlyObject)
2013/02/10 Python
python求crc32值的方法
2014/10/05 Python
最大K个数问题的Python版解法总结
2016/06/16 Python
python学习笔记之列表(list)与元组(tuple)详解
2017/11/23 Python
Python编程使用tkinter模块实现计算器软件完整代码示例
2017/11/29 Python
python读取中文txt文本的方法
2018/04/12 Python
Python 实现两个服务器之间文件的上传方法
2019/02/13 Python
python 实现查询Neo4j多节点的多层关系
2019/12/23 Python
python和js交互调用的方法
2020/06/23 Python
Camille Jewelry官网:现代女性时尚首饰
2019/07/07 全球购物
兰蔻俄罗斯官方网站:Lancome俄罗斯
2019/12/09 全球购物
ECCO俄罗斯官网:北欧丹麦鞋履及皮具品牌
2020/06/26 全球购物
数字天堂软件测试面试题
2012/12/23 面试题
大课间体育活动方案
2014/03/12 职场文书
计算机专业求职信
2014/06/02 职场文书
热情服务标语
2014/10/07 职场文书
初二物理教学反思
2016/02/19 职场文书
详解Vue中$props、$attrs和$listeners的使用方法
2022/02/18 Vue.js