JavaScript自动生成 年月范围 选择功能完整示例【基于jQuery插件】


Posted in jQuery onSeptember 03, 2019

本文实例讲述了JavaScript实现的自动生成 年月范围 选择功能。分享给大家供大家参考,具体如下:

近日做项目涉及到日期选择,为了用户界面友好,于是加入了一年内的年月段的查询功能,先看效果

JavaScript自动生成 年月范围 选择功能完整示例【基于jQuery插件】

JavaScript自动生成 年月范围 选择功能完整示例【基于jQuery插件】

会自动判断当前年份

以下为html代码 其中用到了 Jquery 和 struts 标签 但是这两个都不是重要的 主要书 用于赋值 和 取值方便

还用到了 WdatePicker 插件进行具体日期选择

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s"%>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<script type="text/javascript">
$(function(){
 selectMonth();
})
//年月选择 star
function selectMonth(){
  var myDate = new Date();
  var year = myDate.getUTCFullYear();
  var month = myDate.getUTCMonth ();
  var dateList = new Array();
  var endDay;
  for(var i=0;i<=12;i++){
    var m = month+i;
    endDay = maxDay(m,year-1);
    if(m<12)
    dateList.push((year-1)+"-"+(m+1)+"~"+endDay);
    else
    dateList.push(year+"-"+(m-11)+"~"+endDay);
  }
  dateList.reverse();
  $.each(dateList,function(idx,item){
    var ym = item.split("~");
      var mon = ym[0].split("-");
      if(mon[1]==(month+1) && mon[0] == year)
    $("#dateList").append("<option value="+myDate.getDate()+">"+"本月"+"</option>");
    else
    $("#dateList").append("<option value="+ym[1]+">"+ym[0]+"</option>");
    })
 getEndTime();
}
function maxDay(month,year){//获得某年某月最大天数
var d= new Date();
d.setUTCFullYear(year,month);
return new Date(d.getFullYear(), d.getMonth()+1,0).getDate();
}
function getEndTime(){ //动态生成 月初日期 和 月末日期
  var list = $("#dateList option:selected");
  var selMonth = $("#dateList option:selected").html()
  if( selMonth == "本月"){
   var d = new Date();
    $("#starTime").val(d.getUTCFullYear()+"-"+(d.getUTCMonth()+1)+"-1");
    $("#endTime").val(d.getUTCFullYear()+"-"+(d.getUTCMonth()+1)+"-"+list.val());
  }else{
  $("#starTime").val(selMonth+"-1");
  $("#endTime").val(selMonth+"-"+list.val());
  }
}
//年月选择end
  </script>
<body>
<td nowrap="nowrap" style="width: 15%" align="center">
  日期:
  <select id="dateList" οnchange="getEndTime()"> </select>
  从
  <input name="starTime" id="starTime"
    value="<s:date name="starTime" format="yyyy-MM-dd"/>"
    onFocus="WdatePicker()" class="Wdate"
    style="width: 110px; height: 17px; border-left: 0; border-top: 0; border-right: 0; border-bottom-color: #C06" />
  至
  <input name="endTime" id="endTime"
    value="<s:date name="endTime" format="yyyy-MM-dd"/>"
    onFocus="WdatePicker()" class="Wdate"
    style="width: 110px; height: 17px; border-left: 0; border-top: 0; border-right: 0; border-bottom-color: #C06" />
</td>
</body>

以上为核心代码,有需要的兄弟尽管拿去用,如有更好的请帮忙推荐。

jQuery 相关文章推荐
jquery插件制作 自增长输入框实现代码
Aug 17 jQuery
jQuery实现radio第一次点击选中第二次点击取消功能
May 15 jQuery
jQuery事件_动力节点Java学院整理
Jul 05 jQuery
jQuery扇形定时器插件pietimer使用方法详解
Jul 18 jQuery
JQuery和html+css实现带小圆点和左右按钮的轮播图实例
Jul 22 jQuery
jQuery实现的卷帘门滑入滑出效果【案例】
Feb 18 jQuery
jquery 验证用户名是否重复代码实例
May 14 jQuery
jquery实现垂直无限轮播的方法分析
Jul 16 jQuery
jQuery实现的图片点击放大缩小功能案例
Jan 02 jQuery
jQuery实现小火箭返回顶部特效
Feb 03 jQuery
jQuery HTML css()方法与css类实例详解
May 20 jQuery
JQuery插件tablesorter表格排序实现过程解析
May 28 jQuery
Jquery动态列功能完整实例
Aug 30 #jQuery
jQuery - AJAX load() 实例用法详解
Aug 27 #jQuery
jQuery实现判断滚动条滚动到document底部的方法分析
Aug 27 #jQuery
解决jquery validate 验证不通过后验证正确的信息仍残留在label上的方法
Aug 27 #jQuery
Jquery实现获取子元素的方法分析
Aug 24 #jQuery
jquery分页优化操作实例分析
Aug 23 #jQuery
jquery实现的分页显示功能示例
Aug 23 #jQuery
You might like
用PHP将网址字符串转换成超链接(网址或email)
2010/05/25 PHP
浅析php静态方法与非静态方法的用法区别
2016/05/17 PHP
功能强大的PHP发邮件类
2016/08/29 PHP
PHP实现对xml进行简单的增删改查(CRUD)操作示例
2017/05/19 PHP
jQuery 性能优化指南(2)
2009/05/21 Javascript
javascript 24小时弹出一次的代码(利用cookies)
2009/09/03 Javascript
Javascript面向对象扩展库代码分享
2012/03/27 Javascript
JS中的数组的sort方法使用示例
2014/01/22 Javascript
js闭包实现按秒计数
2015/04/23 Javascript
JavaScript获取各大浏览器信息图示
2015/11/20 Javascript
JS库之wow.js使用方法
2017/09/14 Javascript
基于js文件加载优化(详解)
2018/01/03 Javascript
JavaScript创建对象方法实例小结
2018/09/03 Javascript
基于axios 的responseType类型的设置方法
2019/10/29 Javascript
js实现圆形显示鼠标单击位置
2020/02/11 Javascript
vue.js click点击事件获取当前元素对象的操作
2020/08/07 Javascript
[01:02:17]2014 DOTA2华西杯精英邀请赛 5 24 DK VS VG
2014/05/26 DOTA
python协程用法实例分析
2015/06/04 Python
python获取当前运行函数名称的方法实例代码
2017/04/06 Python
Python 实现删除某路径下文件及文件夹的实例讲解
2018/04/24 Python
python获取url的返回信息方法
2018/12/17 Python
Python 占位符的使用方法详解
2019/07/10 Python
Tensorflow:转置函数 transpose的使用详解
2020/02/11 Python
Python实现队列的方法示例小结【数组,链表】
2020/02/22 Python
python numpy库linspace相同间隔采样的实现
2020/02/25 Python
Opencv求取连通区域重心实例
2020/06/04 Python
Django中的DateTimeField和DateField实现
2021/02/24 Python
船舶专业个人求职信范文
2014/01/02 职场文书
违反课堂纪律检讨书
2014/01/19 职场文书
《画》教学反思
2014/04/14 职场文书
租房安全协议书
2014/08/20 职场文书
优秀大学生事迹材料
2014/12/24 职场文书
2015年青年志愿者工作总结
2015/05/20 职场文书
关于感恩的作文
2019/08/26 职场文书
java Nio使用NioSocket客户端与服务端交互实现方式
2021/06/15 Java/Android
Python实现Excel文件的合并(以新冠疫情数据为例)
2022/03/20 Python