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 EasyUI 组件加上“清除”功能实例详解
Apr 11 jQuery
jQuery Jsonp跨域模拟搜索引擎
Jun 17 jQuery
jquery DataTable实现前后台动态分页
Jun 17 jQuery
jQuery简介_动力节点Java学院整理
Jul 04 jQuery
bootstrap+jquery项目引入文件报错的解决方法
Jan 22 jQuery
浅谈jquery fullpage 插件增加头部和版权的方法
Mar 20 jQuery
jQuery中复合选择器简单用法示例
Mar 31 jQuery
vue+jquery+lodash实现滑动时顶部悬浮固定效果
Apr 28 jQuery
浅析vue-router jquery和params传参(接收参数)$router $route的区别
Aug 03 jQuery
jquery将json转为数据字典的实例代码
Oct 11 jQuery
jquery实现购物车基本功能
Oct 25 jQuery
JS+JQuery实现无缝连接轮播图
Dec 30 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
使用数据库保存session的方法
2006/10/09 PHP
深入理解PHP原理之Session Gc的一个小概率Notice
2011/04/12 PHP
php 文件缓存函数
2011/10/08 PHP
CI框架中redis缓存相关操作文件示例代码
2016/05/17 PHP
在 Laravel 中 “规范” 的开发短信验证码发送功能
2017/10/26 PHP
PHP实现基于图的深度优先遍历输出1,2,3...n的全排列功能
2017/11/10 PHP
详解PHP序列化和反序列化原理
2018/01/15 PHP
Javascript的各种节点操作实例演示代码
2012/06/27 Javascript
jQuery实现简单的间隔向上滚动效果
2015/03/09 Javascript
javascript实现类似java中getClass()得到对象类名的方法
2015/07/27 Javascript
Angularjs单选改为多选的开发过程及问题解析
2017/02/17 Javascript
vue-router路由与页面间导航实例解析
2017/11/07 Javascript
JavaScript内存泄漏的处理方式
2017/11/20 Javascript
微信小程序多音频播放进度条问题
2018/08/28 Javascript
Vue Element校验validate的实例
2020/09/21 Javascript
[02:07]DOTA2超级联赛专访BBC:难忘网吧超神经历
2013/06/09 DOTA
python中getattr函数使用方法 getattr实现工厂模式
2014/01/20 Python
Python Tkinter基础控件用法
2014/09/03 Python
在Gnumeric下使用Python脚本操作表格的教程
2015/04/14 Python
python GUI库图形界面开发之PyQt5布局控件QGridLayout详细使用方法与实例
2020/03/06 Python
在django admin详情表单显示中添加自定义控件的实现
2020/03/11 Python
Python实现猜年龄游戏代码实例
2020/03/25 Python
Pycharm及python安装详细步骤及PyCharm配置整理(推荐)
2020/07/31 Python
python3从网络摄像机解析mjpeg http流的示例
2020/11/13 Python
石油大学毕业生自荐信
2014/01/28 职场文书
珠宝店促销方案
2014/03/21 职场文书
班级学习计划书
2014/04/27 职场文书
节约用电标语
2014/06/17 职场文书
委托书怎样写
2014/08/30 职场文书
2014大学班主任工作总结
2014/11/08 职场文书
部门经理助理岗位职责
2015/04/13 职场文书
2015银行年终工作总结范文
2015/05/26 职场文书
初中思品教学反思
2016/02/20 职场文书
SpringBoot系列之MongoDB Aggregations用法详解
2022/02/12 MongoDB
Python+Pillow+Pytesseract实现验证码识别
2022/05/11 Python
python如何读取和存储dict()与.json格式文件
2022/06/25 Python