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 正则替换 replace(regExp, function)用法
May 22 Javascript
asm.js使用示例代码
Nov 28 Javascript
js制作带有遮罩弹出层实现登录注册表单特效代码分享
Sep 05 Javascript
php基于redis处理session的方法
Mar 14 Javascript
jQuery实现为LI列表前3行设置样式的方法【2种方法】
Sep 04 Javascript
详解自动生成博客目录案例
Dec 09 Javascript
seajs实现强制刷新本地缓存的方法分析
Oct 16 Javascript
JS使用正则表达式找出最长连续子串长度
Oct 26 Javascript
swiper插件自定义切换箭头按钮
Dec 28 Javascript
vue实现节点增删改功能
Sep 26 Javascript
JS实现随机抽选获奖者
Nov 07 Javascript
微信小程序视频弹幕发送功能的实现
Dec 28 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
一个图形显示IP的PHP程序代码
2007/10/19 PHP
php array_push()数组函数:将一个或多个单元压入数组的末尾(入栈)
2011/07/12 PHP
javascript some()函数用法详解
2014/11/13 PHP
PHP中strnatcmp()函数“自然排序算法”进行字符串比较用法分析(对比strcmp函数)
2016/01/07 PHP
PHP抓取淘宝商品的用户晒单评论+图片+搜索商品列表实例
2016/04/14 PHP
php nginx 实时输出的简单实现方法
2018/01/21 PHP
jQuery模拟点击A标记示例参考
2014/04/17 Javascript
JavaScript操作Cookie方法实例分析
2015/05/27 Javascript
JQuery中DOM事件冒泡实例分析
2015/06/13 Javascript
Bootstrap开发实战之第一次接触Bootstrap
2016/06/02 Javascript
简单模拟node.js中require的加载机制
2016/10/27 Javascript
vue使用watch 观察路由变化,重新获取内容
2017/03/08 Javascript
微信小程序 空白页重定向解决办法
2017/06/27 Javascript
Angular4 反向代理Details实践
2018/05/30 Javascript
Vue2.0 实现移动端图片上传功能
2018/05/30 Javascript
Vue-cli@3.0 插件系统简析
2018/09/05 Javascript
原生js实现的移动端可拖动进度条插件功能详解
2019/08/15 Javascript
原生js实现购物车
2020/09/23 Javascript
记一次vue跨域的解决
2020/10/21 Javascript
[47:52]完美世界DOTA2联赛PWL S2 PXG vs InkIce 第二场 11.26
2020/11/30 DOTA
Python fileinput模块使用介绍
2014/11/30 Python
Python使用当前时间、随机数产生一个唯一数字的方法
2017/09/18 Python
python连接mongodb密码认证实例
2018/10/16 Python
python中的单引号双引号区别知识点总结
2019/06/23 Python
解决Keras中CNN输入维度报错问题
2020/06/29 Python
pycharm中leetcode插件使用图文详解
2020/12/07 Python
详解Open Folder as PyCharm Project怎么添加的方法
2020/12/29 Python
HTML5制作表格样式
2016/11/15 HTML / CSS
Sunglasses Shop丹麦:欧洲第一的太阳镜在线销售网站
2017/10/22 全球购物
英国川宁茶官方网站:Twinings茶
2019/05/21 全球购物
澳大利亚家具商店:Freedom
2020/12/17 全球购物
请解释流与文件有什么不同
2016/07/29 面试题
2014年人力资源工作总结
2014/11/19 职场文书
2014年小学数学教师工作总结
2014/12/03 职场文书
2014年科室工作总结范文
2014/12/19 职场文书
python自动化测试通过日志3分钟定位bug
2021/11/20 Python