简体   繁体   English

使用本月起的月份在javascript中创建下拉列表

[英]create a dropdown list in javascript using months from this month

I have a "search by month" feature and have listed the months in a dropdown (select) field. 我具有“按月搜索”功能,并在下拉(选择)字段中列出了月份。 I wish to only display months from this month onward (including this month) for 5 years ahead. 我希望仅显示从本月起(包括本月)的未来5年的月份。 This is what I have so far: 这是我到目前为止的内容:

var multiYears = [ "2015", "2016", "2017", "2018", "2019", "2020"];
var monthNames = [ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ];
var htmlOptions = "";
var i;
for (m = 0; m < multiYears.length; m++) {
  var multiYear = multiYears[m];
  for (i = 0; i < 12; i++) {
      var realMonth = i + 1;          
      htmlOptions += '<option value="' + ("0" + realMonth).slice(-2) + "-" + multiYear + '">' + monthNames[i] + " " + multiYear + '</option>';
  }
}

var htmlStart = '<select size="1" id="multiDrop" name="multiDrop">';
var htmlOptionsHeader = '<option value="_">Navigate by month</option>';
var htmlEnd ='</select>';
var html = htmlStart + htmlOptionsHeader + htmlOptions + htmlEnd;

Im adding this HTML to my page with JavaScript and then loading the results based on the month and year with values in the select options like this: 01-2015, 02-2015, 03-2015, etc. where January is 01 (and not 0) 我使用JavaScript将这个HTML添加到我的页面中,然后根据月份和年份加载结果,并带有以下选择选项中的值:01-2015、02-2015、03-2015等,其中1月是01(而不是0)

See my demo here . 在这里查看我的演示。 It displays September onwards for this year, and all months for subsequent years. 它显示今年的9月及以后的年份以及所有月份的所有月份。

var multiYears = [ "2015", "2016", "2017", "2018", "2019", "2020"];
var monthNames = [ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ];
var htmlOptions = "";
var i;


var currentDate = new Date();

for (m = 0; m < multiYears.length; m++) {
  var multiYear = multiYears[m];
  var startMonth = 1;
  // if it's the current year, only show from this month onwards
  if (multiYear == currentDate.getYear() + 1900) {
      startMonth = currentDate.getMonth() + 1;
  }

  for (i = startMonth ; i <= 12; i++) {
      htmlOptions += '<option value="' + ("0" + i).slice(-2) + "-" + multiYear + '">' + monthNames[i - 1] + " " + multiYear + '</option>';
  }
}

var htmlStart = '<select size="1" id="multiDrop" name="multiDrop">';
var htmlOptionsHeader = '<option value="_">Navigate by month</option>';
var htmlEnd ='</select>';
var html = htmlStart + htmlOptionsHeader + htmlOptions + htmlEnd;

document.body.innerHTML += html;

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何使用 JavaScript 从月份列表中选择当前月份? - How to select current month from a list of months with JavaScript? 如何从选定的下拉列表中创建变量并使用javascript返回 - How to create a variable from a selected dropdown list and return it using javascript 如何使用moment.js获取从当前月份到过去一个月的所有月份列表 - How to get a list of all months from current month to a month in the past using moment.js 使用纯 javascript 使用当前日期、月份和年份填充下拉列表 - Populate dropdown list with current day, month and year using pure javascript 使用javascript中的append创建动态下拉列表 - create dynamic dropdown list using append in javascript 使用JavaScript显示最近3个月的下拉列表 - Display dropdown of last 3 months using javascript 从月份下拉选项中显示当前月份的 DIV - Display DIV for current month from months dropdown options 我想使用JavaScript数组列出一年中的月份,但是我在如何使1月1月而不是0月方面陷入困境 - I want to list out the months of the year using a JavaScript array, but I am stuck on how to make Jan month 1 instead of month 0 为月份和年份创建一个下拉列表并在 php 中选择 - create a dropdown list for month and year and selected in php 使用 JavaScript 创建下拉列表 - Create a dropdown using JavaScript
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM