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实现鼠标经过显示动画边框特效
Mar 24 jQuery
Jquery把获取到的input值转换成json
May 15 jQuery
JQuery form表单提交前验证单选框是否选中、删除记录时验证经验总结(整理)
Jun 09 jQuery
jQuery接受后台传递的List的实例详解
Aug 02 jQuery
快速掌握jquery分页插件jqPaginator的使用方法
Aug 09 jQuery
jQuery 实现倒计时天,时,分,秒功能
Jul 31 jQuery
jQuery实现获取当前鼠标位置并输出功能示例
Jan 05 jQuery
js/jquery遍历对象和数组的方法分析【forEach,map与each方法】
Feb 27 jQuery
基于jQuery实现可编辑的表格
Dec 11 jQuery
jQuery实现王者荣耀手风琴效果
Jan 17 jQuery
jQuery实现简易聊天框
Feb 08 jQuery
jquery实现淡入淡出轮播图效果
Dec 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
MOTOROLA 摩托罗拉 MODEL 66-XI五灯中波收音机
2021/03/02 无线电
PHP 分页原理分析,大家可以看看
2009/12/21 PHP
PHP开发者常犯的10个MySQL错误更正剖析
2012/01/30 PHP
[原创]php获取数组中键值最大数组项的索引值
2015/03/17 PHP
PHP 断点续传实例详解
2017/11/11 PHP
使用laravel指定日志文件记录任意日志
2019/10/17 PHP
PHP Pipeline 实现中间件的示例代码
2020/04/26 PHP
JavaScript创建命名空间(namespace)的最简实现
2007/12/11 Javascript
javascript数组遍历for与for in区别详解
2014/12/04 Javascript
Javascript的闭包详解
2014/12/26 Javascript
DIV随滚动条滚动而滚动的实现代码【推荐】
2016/04/12 Javascript
JavaScript鼠标事件,点击鼠标右键,弹出div的简单实例
2016/08/03 Javascript
Bootstrap的class样式小结
2016/12/01 Javascript
Kindeditor单独调用多图上传实例
2017/07/31 Javascript
node+express+ejs使用模版引擎做的一个示例demo
2017/09/18 Javascript
Vue中如何实现proxy代理
2018/04/20 Javascript
vue实现重置表单信息为空的方法
2018/09/29 Javascript
详解关于React-Router4.0跳转不置顶解决方案
2019/05/10 Javascript
js实现九宫格抽奖
2020/03/19 Javascript
python通过函数属性实现全局变量的方法
2015/05/16 Python
python3 http提交json参数并获取返回值的方法
2018/12/19 Python
Python装饰器用法实例分析
2019/01/14 Python
python实现根据文件格式分类
2019/10/31 Python
DRF框架API版本管理实现方法解析
2020/08/21 Python
纯CSS3制作页面切换效果的实例代码
2019/05/30 HTML / CSS
HTML5响应式(自适应)网页设计的实现
2017/11/17 HTML / CSS
app内嵌H5 webview 本地缓存问题的解决
2020/10/19 HTML / CSS
应用服务器有那些
2012/01/19 面试题
SQL Server 2000数据库的文件有哪些,分别进行描述。
2015/11/09 面试题
大学生毕业的自我鉴定
2013/11/13 职场文书
见习期自我鉴定
2014/01/31 职场文书
公司节能减排倡议书
2014/05/14 职场文书
乔丹名人堂演讲稿
2014/05/24 职场文书
2016年学校综治宣传月活动总结
2016/03/16 职场文书
投资入股协议书
2016/03/22 职场文书
Python 线程池模块之多线程操作代码
2021/05/20 Python