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 24 Javascript
javascript 从if else 到 switch case 再到抽象
Jul 17 Javascript
javascript中call和apply方法浅谈
Sep 27 Javascript
extjs_02_grid显示本地数据、显示跨域数据
Jun 23 Javascript
引用其它js时如何同时处理多个window.onload事件
Sep 02 Javascript
jQuery实现响应浏览器缩放大小并改变背景颜色
Oct 31 Javascript
Node.js 实现简单小说爬虫实例
Nov 18 Javascript
JavaScript简单拖拽效果(1)
May 17 Javascript
js异步编程小技巧详解
Aug 14 Javascript
使用vue + less 实现简单换肤功能的示例
Feb 21 Javascript
vue.js 底部导航栏 一级路由显示 子路由不显示的解决方法
Mar 09 Javascript
基于Vue和Element-Ui搭建项目的方法
Sep 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
php读取msn上的用户信息类
2008/12/05 PHP
PHP 组件化编程技巧
2009/06/06 PHP
discuz authcode 经典php加密解密函数解析
2020/07/12 PHP
php+MySQL判断update语句是否执行成功的方法
2014/08/28 PHP
php中opendir函数用法实例
2014/11/15 PHP
phpfpm的作用和用法
2019/10/10 PHP
JS代码放在head和body中的区别分析
2011/12/01 Javascript
jQuery之$(document).ready()使用介绍
2012/04/05 Javascript
JavaScript高级程序设计(第3版)学习笔记11 内建js对象
2012/10/11 Javascript
JavaScript中函数表达式和函数声明及函数声明与函数表达式的不同
2015/11/15 Javascript
JS实现的仿QQ空间图片弹出效果代码
2016/02/23 Javascript
Bootstrap每天必学之折叠(Collapse)插件
2016/04/25 Javascript
详解Vue 普通对象数据更新与 file 对象数据更新
2017/04/26 Javascript
vuex actions传递多参数的处理方法
2018/09/18 Javascript
Vuepress 搭建带评论功能的静态博客的实现
2019/02/17 Javascript
原生JS forEach()和map()遍历的区别、兼容写法及jQuery $.each、$.map遍历操作
2019/02/27 jQuery
微信小程序获取公众号文章列表及显示文章的示例代码
2020/03/10 Javascript
React Ant Design树形表格的复杂增删改操作
2020/11/02 Javascript
python实现录音小程序
2020/10/26 Python
Python数据结构之栈、队列及二叉树定义与用法浅析
2018/12/27 Python
python 设置输出图像的像素大小方法
2019/07/04 Python
详解Python对JSON中的特殊类型进行Encoder
2019/07/15 Python
Python3 pickle对象串行化代码实例解析
2020/03/23 Python
IntelliJ 中配置 Anaconda的过程图解
2020/06/01 Python
keras 自定义loss层+接受输入实例
2020/06/28 Python
python tkinter的消息框模块(messagebox,simpledialog)
2020/11/07 Python
CSS3下的渐变文字效果实现示例
2018/03/02 HTML / CSS
工程安全员岗位职责
2014/03/09 职场文书
护士感人事迹
2014/05/01 职场文书
校运动会广播稿(100篇)
2014/09/12 职场文书
2015年幼儿园新年寄语
2014/12/08 职场文书
丧事酒宴答谢词
2015/09/30 职场文书
2016同学毕业寄语大全
2015/12/04 职场文书
Python下opencv库的安装过程及问题汇总
2021/06/11 Python
新手入门Jvm-- JVM对象创建与内存分配机制
2021/06/18 Java/Android
浅析JavaScript中的变量提升
2022/06/01 Javascript