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插件FusionCharts绘制2D环饼图效果示例【附demo源码】
Apr 10 jQuery
jQuery实现百度登录框的动态切换效果
Apr 21 jQuery
jQuery Tree Multiselect使用详解
May 02 jQuery
jQuery异步提交表单实例
May 30 jQuery
jQuery实现可拖动进度条实例代码
Jun 21 jQuery
Vue.js列表渲染绑定jQuery插件的正确姿势
Jun 29 jQuery
jQuery 实现图片的依次加载图片功能
Jul 06 jQuery
jQuery实现的上传图片本地预览效果简单示例
Mar 29 jQuery
Jquery和CSS实现选择框重置按钮功能
Nov 08 jQuery
Jquery实现无缝向上循环滚动列表的特效
Feb 13 jQuery
jquery实现动态改变css样式的方法分析
May 27 jQuery
如何用webpack4.0撸单页/多页脚手架 (jquery, react, vue, typescript)
Jun 18 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获取文件后缀名的三个函数
2012/10/15 PHP
nginx+php-fpm配置文件的组织结构介绍
2012/11/07 PHP
如何批量替换相对地址为绝对地址(利用bat批处理实现)
2013/05/27 PHP
php+html5使用FormData对象提交表单及上传图片的方法
2015/02/11 PHP
动手学习无线电
2021/03/10 无线电
js操作select控件的几种方法
2010/06/02 Javascript
ajax java 实现自动完成功能
2012/12/19 Javascript
JavaScript设置表单上传时文件个数的方法
2015/08/11 Javascript
javascript实现选中复选框后相关输入框变灰不可用的方法
2015/08/11 Javascript
JS简单判断滚动条的滚动方向实现方法
2017/04/28 Javascript
详解如何让InstantClick兼容MathJax、百度统计等
2017/09/12 Javascript
JS关于刷新页面的相关总结
2018/05/09 Javascript
JS实现统计字符串中字符出现个数及最大个数功能示例
2018/06/04 Javascript
Vue之mixin全局的用法详解
2018/08/22 Javascript
微信小程序-API接口安全详解
2019/07/16 Javascript
微信小程序模板消息推送的两种实现方式
2019/08/27 Javascript
微信小程序返回上一页传参并刷新过程解析
2019/12/13 Javascript
[02:00]DAC2018主宣传片——龙征四海,剑问东方
2018/03/20 DOTA
python处理文本文件实现生成指定格式文件的方法
2014/07/31 Python
python音频处理用到的操作的示例代码
2017/10/27 Python
Django保护敏感信息的方法示例
2019/05/09 Python
python找出一个列表中相同元素的多个索引实例
2019/06/11 Python
OpenCV 之按位运算举例解析
2020/06/19 Python
Python爬虫教程知识点总结
2020/10/19 Python
利用纯CSS3实现动态的自行车特效源码
2017/01/20 HTML / CSS
Under Armour安德玛法国官网:美国高端运动科技品牌
2018/06/29 全球购物
澳大利亚墨水站Ink Station:墨水和碳粉打印机墨盒
2019/03/24 全球购物
Bandier官网:奢侈、时尚前卫的健身服装首选目的地
2020/07/05 全球购物
广州御银科技股份有限公司试卷(C++)
2016/11/04 面试题
违反课堂纪律检讨书
2014/01/19 职场文书
外贸员简历中的自我评价
2014/03/04 职场文书
授权委托书(公民个人适用)
2014/09/19 职场文书
带刀到教室的检讨书
2014/10/04 职场文书
人事文员岗位职责
2015/02/04 职场文书
中国合伙人观后感
2015/06/02 职场文书
2019年感恩励志演讲稿(收藏备用)
2019/09/11 职场文书