这篇文章主要介绍了jQueryui利用datepicker插件实现开始日期(minDate)和结束日期(maxDate),需要的朋友可以参考下

使用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);
  }
});

这样在设置一方后,另一方就会被限制了。

实现的效果如图:

最新资讯
申购火爆!阿里巴巴提前半天结束港股IPO新股认购

申购火爆!阿里巴巴提前

其计划于美国时间11月19日决定国际配售和中国香港公开
拍拍贷正式更名为信也科技 前三季净利近6亿元降逾7%

拍拍贷正式更名为信也

11月19日,美股上市金融科技公司拍拍贷(NYSE:PPDF)发布了20
金立新增两条被执行人信息 涉及金额约1.87亿元

金立新增两条被执行人

根据天眼查的信息显示,11月18日,深圳市金立通信设备有限
途牛第三季度净营收8.5亿元 高于市场预期

途牛第三季度净营收8.

途牛2019年第三季度净营收为8.525亿元人民币,市场预期
滴滴副总裁郄小虎:很快在上海推出自动驾驶叫车服务

滴滴副总裁郄小虎:很快

据国外媒体报道,滴滴出行副总裁、网约车部门CTO郄小虎
威马汽车计划半年内完成10亿美元D轮融资

威马汽车计划半年内完

威马汽车首席战略官鲁珀特·米切尔(Rupert Mitchell)今
最新文章
微信小程序调用天气接口并且渲染在页面过程详解

微信小程序调用天气接

这篇文章主要介绍了微信小程序调用天气接口并且渲染在
Electron + vue 打包桌面操作流程详解

Electron + vue 打包

这篇文章主要介绍了Electron + vue 打包桌面操作流程,
前端Vue项目详解--初始化及导航栏

前端Vue项目详解--初

这篇文章主要介绍了前端Vue项目详解--初始化及导航栏,
ES6 Object方法扩展的应用实例分析

ES6 Object方法扩展的

这篇文章主要介绍了ES6 Object方法扩展的应用,结合实
JS实现给数组对象排序的方法分析

JS实现给数组对象排序

这篇文章主要介绍了JS实现给数组对象排序的方法,结合
基于vue+axios+lrz.js微信端图片压缩上传方法

基于vue+axios+lrz.js

这篇文章主要介绍了基于vue+axios+lrz.js微信端图片压