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 相关文章推荐
自动更新作用
Oct 08 Javascript
关于jquery ajax 调用带参数的webservice返回XML数据一个小细节
Jul 31 Javascript
node.js中的fs.writeSync方法使用说明
Dec 15 Javascript
浅谈JavaScript异常处理语句
Jun 26 Javascript
常用的Javascript设计模式小结
Dec 09 Javascript
Node.js重新刷新session过期时间的方法
Feb 04 Javascript
有关easyui-layout中的收缩层无法显示标题的解决办法
May 10 Javascript
JavaScript遍历求解数独问题的主要思路小结
Jun 12 Javascript
微信小程序 定义全局数据、函数复用、模版等详细介绍
Oct 27 Javascript
vue 将页面公用的头部组件化的方法
Dec 18 Javascript
JavaScript中判断为整数的多种方式及保留两位小数的方法
Sep 09 Javascript
为nuxt项目写一个面包屑cli工具实现自动生成页面与面包屑配置
Sep 29 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编程最快明白》第三讲:php数组
2010/11/01 PHP
解析PHP SPL标准库的用法(遍历目录,查找固定条件的文件)
2013/06/18 PHP
PHP中判断文件存在使用is_file还是file_exists?
2015/04/03 PHP
PHP+Session防止表单重复提交的解决方法
2018/04/09 PHP
ThinkPHP框架获取最后一次执行SQL语句及变量调试简单操作示例
2018/06/13 PHP
imagettftext() 失效,不起作用
2021/03/09 PHP
javascript 模式设计之工厂模式学习心得
2010/04/27 Javascript
JavaScript Accessor实现说明
2010/12/06 Javascript
不到30行JS代码实现Excel表格的方法
2014/11/15 Javascript
jQuery实现跟随鼠标运动图层效果的方法
2015/02/02 Javascript
浅析javascript中的DOM
2015/03/01 Javascript
详解JavaScript的变量和数据类型
2015/11/27 Javascript
点评js异步加载的4种方式
2015/12/22 Javascript
Angularjs注入拦截器实现Loading效果
2015/12/28 Javascript
React组件重构之嵌套+继承及高阶组件详解
2018/07/19 Javascript
说说如何利用 Node.js 代理解决跨域问题
2019/04/22 Javascript
js实现经典贪吃蛇小游戏
2020/03/19 Javascript
js实现购物车商品数量加减
2020/09/21 Javascript
js 数据类型判断的方法
2020/12/03 Javascript
python使用opencv读取图片的实例
2017/08/17 Python
python命令行解析之parse_known_args()函数和parse_args()使用区别介绍
2018/01/24 Python
python主线程捕获子线程的方法
2018/06/17 Python
详解python的四种内置数据结构
2019/03/19 Python
Python的赋值、深拷贝与浅拷贝的区别详解
2020/02/12 Python
python使用建议与技巧分享(二)
2020/08/17 Python
瑞典度假品牌:OAS
2019/05/28 全球购物
应届生护士求职信
2013/11/01 职场文书
大学生写自荐信的技巧
2014/01/08 职场文书
恶搞卫生巾广告词
2014/03/18 职场文书
自考毕业自我鉴定
2014/03/18 职场文书
2014年教育培训工作总结
2014/12/08 职场文书
和谐家庭事迹材料
2014/12/20 职场文书
2016年员工政治思想表现评语
2015/12/02 职场文书
导游词之珠海轮廓
2019/10/25 职场文书
浅谈Redis在直播场景的实践方案
2021/04/27 Redis
MYSQL 无法识别中文的永久解决方法
2021/06/03 MySQL