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.masonry瀑布流效果
May 25 jQuery
jQuery 表单序列化实例代码
Jun 11 jQuery
jQuery操作DOM_动力节点Java学院整理
Jul 04 jQuery
jquery根据name取得select选中的值实例(超简单)
Jan 25 jQuery
jQuery中图片展示插件highslide.js的简单dom
Apr 22 jQuery
jQuery实现基本隐藏与显示效果的方法详解
Sep 05 jQuery
jQuery+css last-child实现选择最后一个子元素操作示例
Dec 10 jQuery
原生JS forEach()和map()遍历的区别、兼容写法及jQuery $.each、$.map遍历操作
Feb 27 jQuery
通过JQuery,JQueryUI和Jsplumb实现拖拽模块
Jun 18 jQuery
jQuery实现文本显示一段时间后隐藏的方法分析
Jun 20 jQuery
jquery实现弹窗(系统提示框)效果
Dec 10 jQuery
jquery实现点击弹出对话框
Feb 08 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 文章采集正则代码
2009/12/28 PHP
PHP header()函数使用详细(301、404等错误设置)
2013/04/17 PHP
php使用cookie显示用户上次访问网站日期的方法
2015/01/26 PHP
PHP设置进度条的方法
2015/07/08 PHP
PHP面向对象学习之parent::关键字
2017/01/18 PHP
Linux服务器下PHPMailer发送邮件失败的问题解决
2017/03/04 PHP
老生常谈PHP数组函数array_merge(必看篇)
2017/05/25 PHP
PHP mysqli事务操作常用方法分析
2017/07/22 PHP
PHP实现的堆排序算法详解
2017/08/17 PHP
jquery实现marquee效果(文字或者图片的水平垂直滚动)
2013/01/07 Javascript
JS判断表单输入是否为空(示例代码)
2013/12/23 Javascript
jQuery使用empty()方法删除元素及其所有子元素的方法
2015/03/26 Javascript
在AngularJS中使用AJAX的方法
2015/06/17 Javascript
浅析jQuery事件之on()方法绑定多个选择器,多个事件
2016/04/27 Javascript
Js获取图片原始宽高的实现代码
2016/05/17 Javascript
Angular 理解module和injector,即依赖注入
2016/09/07 Javascript
jQuery实现的超链接提示效果示例【附demo源码下载】
2016/09/09 Javascript
实现一个简单的vue无限加载指令方法
2017/01/10 Javascript
Vue.js实例方法之生命周期详解
2017/07/03 Javascript
Vue2.0实现组件数据的双向绑定问题
2018/03/06 Javascript
Vue作用域插槽slot-scope实例代码
2018/09/05 Javascript
[48:21]林俊杰圣堂刺客超神杀戮秀
2014/10/29 DOTA
树莓派中python获取GY-85九轴模块信息示例
2013/12/05 Python
Python中urllib2模块的8个使用细节分享
2015/01/01 Python
python能做什么 python的含义
2019/10/12 Python
PYTHON绘制雷达图代码实例
2019/10/15 Python
opencv3/C++图像像素操作详解
2019/12/10 Python
python爬虫爬取淘宝商品比价(附淘宝反爬虫机制解决小办法)
2020/12/03 Python
手工制作的意大利太阳镜和光学元件:Illesteva
2019/01/19 全球购物
中专生职业生涯规划书范文
2014/01/10 职场文书
社区安全检查制度
2014/02/03 职场文书
党的群众路线查摆剖析材料
2014/10/10 职场文书
2015年清明节扫墓演讲稿
2015/03/18 职场文书
采购内勤岗位职责
2015/04/13 职场文书
2015年学校禁毒工作总结
2015/05/27 职场文书
JS实现九宫格拼图游戏
2022/06/28 Javascript