js实现由当前月向前推特定月份并循环取出年月列表生成select

function init(){
dateSelect(6);//为调用函数,6为向前递推月数
}
function dateSelect(data){
            var date = new Date();
            //当前年份
            var year =date.getFullYear();
            //当前月份
            var month=date.getMonth()+1;
            var strTag = "";
            //1.如果往前推的月数data大于当前月则推到上一年,并取的需要上一年从12月份开始往前推(data-month)个月,
            // 2.然后从这个月开始进行遍历到12月份,并拼接当年的年份;
            //3.最后遍历当年从一月份开始到当前月
            if(data>month){
                //1.推到上一年
                var startYear=year-1;
                //2.需要上一年从12月份开始往前推(data-month)个月,取得开始月份12-(data-month)遍历
                for(var i=12-(data-month);i<=12;i++){
                    var startMonth;
                    if(i<10){
                        startMonth="0"+i.toString();
                    }else {
                        startMonth=i.toString();
                    }
                    var startYear_month=startYear.toString()+startMonth;
                    strTag += "<option  value='"+ startYear_month+"'>";
                    strTag +=startYear_month+ "</option>";
                }
                //3.最后遍历当年从一月份开始到当前月
                for(var i=1;i<=month;i++){
                    var currentMonth;
                    //月份补全,4--》04
                    if(i<10){
                        currentMonth="0"+i.toString();
                    }else {
                        currentMonth=i.toString();
                    }
                    var year_month = year.toString()+currentMonth;
                    if(i==month){
                        strTag += "<option  value='"+ year_month+"' selected>";
                    }else{
                        strTag += "<option  value='"+ year_month+"'>";
                    }
                    strTag +=year_month+ "</option>";
                }
            }else{
                //1.如果往前推的月数data小于当前月
                for(var i=month-data;i<=month;i++){
                   var currentMonth;
                   //月份补全,4--》04
                    if(i<10){
                        currentMonth="0"+i.toString();
                    }
                    var year_month = date.getFullYear().toString()+currentMonth;
                    strTag += "<option  value='"+ year_month+"'>";
                    strTag +=year_month+ "</option>";
                }
            }
            //此处id为页面中select框id<select name="taskdate" id="generateDate">
            $("#generateDate").append(strTag);
        }
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值