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中的deferred对象和extend方法详解
May 08 jQuery
jQuery Ajax向服务端传递数组参数值的实例代码
Sep 03 jQuery
jQuery实现的简单前端搜索功能示例
Oct 28 jQuery
jQuery EasyUI 折叠面板accordion的使用实例(分享)
Dec 25 jQuery
webpack里使用jquery.mCustomScrollbar插件的方法
May 30 jQuery
通过jquery的ajax请求本地的json文件方法
Aug 08 jQuery
jQuery实现的自定义轮播图功能详解
Dec 28 jQuery
原生JS forEach()和map()遍历的区别、兼容写法及jQuery $.each、$.map遍历操作
Feb 27 jQuery
使用jquery的cookie实现登录页记住用户名和密码的方法
Mar 13 jQuery
jquery 回调操作实例分析【回调成功与回调失败的情况】
Sep 27 jQuery
jQuery+css实现的点击图片放大缩小预览功能示例【图片预览 查看大图】
May 29 jQuery
jQuery实现影院选座订座效果
Apr 13 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 syntax error, unexpected $end 错误的一种原因及解决
2008/10/25 PHP
PHP函数常用用法小结
2010/02/08 PHP
php异常处理使用示例
2014/02/25 PHP
Yii实现显示静态页的方法
2016/04/25 PHP
PHP自动补全表单的两种方法
2017/03/06 PHP
php使用curl伪造浏览器访问操作示例
2019/09/30 PHP
javascript 模拟点击广告
2010/01/02 Javascript
jqueryUI里拖拽排序示例分析
2015/02/26 Javascript
AngularJS入门教程之MVC架构实例分析
2016/11/01 Javascript
关于webuploader插件使用过程遇到的小问题
2016/11/07 Javascript
Node.js 回调函数实例详解
2017/07/06 Javascript
vue使用vue-cli快速创建工程
2017/07/28 Javascript
JS实现在文本指定位置插入内容的简单示例
2017/12/22 Javascript
微信小程序websocket实现聊天功能
2020/03/30 Javascript
手挽手带你学React之React-router4.x的使用
2019/02/14 Javascript
优雅的处理vue项目异常实战记录
2019/06/05 Javascript
iview的table组件自带的过滤器实现
2019/07/12 Javascript
JointJS JavaScript流程图绘制框架解析
2019/08/15 Javascript
layui实现数据表格隐藏列的示例
2019/10/25 Javascript
JavaScript实现简单进度条效果
2020/03/25 Javascript
[01:01:25]DOTA2上海特级锦标赛B组资格赛#2 Fnatic VS Spirit第三局
2016/02/27 DOTA
python操作MySQL数据库具体方法
2013/10/28 Python
使用python实现递归版汉诺塔示例(汉诺塔递归算法)
2014/04/08 Python
关于Django显示时间你应该知道的一些问题
2017/12/25 Python
Python 创建空的list,以及append用法讲解
2018/05/04 Python
pandas计算最大连续间隔的方法
2019/07/04 Python
如何用Python来搭建一个简单的推荐系统
2019/08/07 Python
Django项目中实现使用qq第三方登录功能
2019/08/13 Python
Python使用多进程运行含有任意个参数的函数
2020/05/02 Python
css3图片边框border-image的用法
2017/06/30 HTML / CSS
以设计师精品品质提供快速时尚:PopJulia
2018/01/09 全球购物
澳大利亚领先的皮肤诊所:Skin Matrix(抗衰老、痤疮专家、药妆护肤)
2018/05/20 全球购物
《每逢佳节倍思亲》教后反思
2014/04/19 职场文书
卫生院义诊活动总结
2015/05/07 职场文书
62句有关感恩节文案(推荐收藏)
2019/11/28 职场文书
Python WSGI 规范简介
2021/04/11 Python