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 相关文章推荐
分享10篇优秀的jQuery幻灯片制作教程及应用案例
Apr 16 Javascript
js冒泡法和数组转换成字符串示例代码
Aug 14 Javascript
jQuery 获取/设置/删除DOM元素的属性以a元素为例
May 23 Javascript
jQuery实现仿QQ头像闪烁效果的文字闪动提示代码
Nov 03 Javascript
JS实现alert中显示换行的方法
Dec 17 Javascript
Angular2  NgModule 模块详解
Oct 19 Javascript
JS实现的找零张数最小问题示例
Nov 28 Javascript
Bootstrap 模态框自定义点击和关闭事件详解
Aug 10 Javascript
从零开始学习搭建React脚手架项目
Aug 23 Javascript
基于vue循环列表时点击跳转页面的方法
Aug 31 Javascript
Vue.js 中的 v-model 指令及绑定表单元素的方法
Dec 03 Javascript
Koa 中的错误处理解析
Apr 09 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与SQL注入攻击[一]
2007/04/17 PHP
保存到桌面、设为桌面且带图标的PHP代码
2013/11/19 PHP
一个图片地址分解程序(用于PHP小偷程序)
2014/08/23 PHP
php使用cookie显示用户上次访问网站日期的方法
2015/01/26 PHP
win7安装php框架Yii的方法
2016/01/25 PHP
laravel框架关于搜索功能的实现
2018/03/15 PHP
php 输出缓冲 Output Control用法实例详解
2020/03/03 PHP
常用js脚本
2006/12/03 Javascript
javascript 鼠标拖动图标技术
2010/02/07 Javascript
JS小功能(checkbox实现全选和全取消)实例代码
2013/11/28 Javascript
js图片预加载示例
2014/04/30 Javascript
JQuery 使用attr方法实现下拉列表选中
2014/10/13 Javascript
js对字符的验证方法汇总
2015/02/04 Javascript
js中跨域方法原理详解
2015/07/19 Javascript
asp知识整理笔记3(问答模式)
2015/09/27 Javascript
clipboard.js无需Flash无需依赖任何JS库实现文本复制与剪切
2015/10/10 Javascript
原生javascript实现解析XML文档与字符串
2016/03/01 Javascript
详解vue-validator(vue验证器)
2017/01/16 Javascript
jQuery制作图片旋转效果
2017/02/02 Javascript
Vue.js实现一个todo-list的上移下移删除功能
2017/06/26 Javascript
Vue打包后出现一些map文件的解决方法
2018/02/13 Javascript
JS实现提示框跟随鼠标移动
2019/08/27 Javascript
vue动态设置页面title的方法实例
2020/08/23 Javascript
理解python多线程(python多线程简明教程)
2014/06/09 Python
Python的函数的一些高阶特性
2015/04/27 Python
Python代码覆盖率统计工具coverage.py用法详解
2020/11/25 Python
英国领先的瓷砖专家:Walls and Floors
2018/04/27 全球购物
厨师岗位职责
2013/11/12 职场文书
财务部岗位职责
2013/11/19 职场文书
求职信格式要求
2014/05/23 职场文书
群众路线自我剖析范文
2014/11/04 职场文书
六一儿童节新闻稿
2015/07/17 职场文书
学生会干部任命书
2015/09/21 职场文书
探究Mysql模糊查询是否区分大小写
2021/06/11 MySQL
MySQL 发生同步延迟时Seconds_Behind_Master还为0的原因
2021/06/21 MySQL
Springboot配置suffix指定mvc视图的后缀方法
2021/07/03 Java/Android