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 相关文章推荐
一些技巧性实用js代码小结
Oct 14 Javascript
javascript(jquery)利用函数修改全局变量的代码
Nov 02 Javascript
使用基于jquery的gamequery插件做JS乒乓球游戏
Jul 31 Javascript
js实现div层缓慢收缩与展开的方法
May 11 Javascript
Javascript编写俄罗斯方块思路及实例
Jul 07 Javascript
Node.js和Express简单入门介绍
Mar 24 Javascript
Vue中的作用域CSS和CSS模块的区别
Oct 09 Javascript
微信小程序实现联动选择器
Feb 15 Javascript
vue实现百度下拉列表交互操作示例
Mar 12 Javascript
用node撸一个监测复联4开售短信提醒的实现代码
Apr 10 Javascript
layer关闭当前窗口页面以及确认取消按钮的方法
Sep 09 Javascript
浅谈鸿蒙 JavaScript GUI 技术栈
Sep 17 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下载远程图片函数 可伪造来路
2013/06/25 PHP
PHP基于数组实现的分页函数实例
2014/08/20 PHP
php内存缓存实现方法
2015/01/24 PHP
PHP array_key_exists检查键名或索引是否存在于数组中的实现方法
2016/06/13 PHP
PHP yii实现model添加默认值的方法(两种方法)
2016/11/10 PHP
CI框架使用composer安装的依赖包步骤与方法分析
2016/11/21 PHP
自制PHP框架之设计模式
2017/05/07 PHP
基于jquery的页面划词搜索JS
2010/09/14 Javascript
jQuery实现的Email中的收件人效果(按del键删除)
2011/03/20 Javascript
jquery选择器、属性设置用法经验总结
2013/09/08 Javascript
JS onmousemove鼠标移动坐标接龙DIV效果实例
2013/12/16 Javascript
让JavaScript中setTimeout支持链式操作的方法
2015/06/19 Javascript
jQuery实现的个性化返回底部与返回顶部特效代码
2015/10/30 Javascript
js传值后台中文出现乱码的解决方法
2016/06/30 Javascript
AngularJS入门教程之服务(Service)
2016/07/27 Javascript
微信小程序 条件渲染详解
2016/10/09 Javascript
nodejs multer实现文件上传与下载
2017/05/10 NodeJs
Angular4 Select选择改变事件的方法
2018/10/09 Javascript
实例分析JS中的相等性判断===、 ==和Object.is()
2019/11/17 Javascript
vue学习笔记之过滤器的基本使用方法实例分析
2020/02/01 Javascript
vue项目中微信登录的实现操作
2020/09/08 Javascript
对变量赋值的理解--Pyton中让两个值互换的实现方法
2017/11/29 Python
Python中作用域的深入讲解
2018/12/10 Python
Python PyQt5运行程序把输出信息展示到GUI图形界面上
2020/04/27 Python
Selenium元素定位的30种方式(史上最全)
2020/05/11 Python
CSS3区域模块region相关编写示例
2015/08/28 HTML / CSS
CSS3绘制六边形的简单实现
2016/08/25 HTML / CSS
Java平台和其他软件平台有什么不同
2015/06/05 面试题
UML设计模式笔试题
2014/06/07 面试题
自主招生自荐书
2013/11/29 职场文书
个人职业及收入证明
2014/10/13 职场文书
2015年纪检监察工作总结
2015/04/08 职场文书
义卖募捐活动总结
2015/05/09 职场文书
Python Pandas常用函数方法总结
2021/06/15 Python
Python字符串格式化方式
2022/04/07 Python
python绘制云雨图raincloud plot
2022/08/05 Python