如何在html的下拉列表中绑定过去12个月?

Ash*_*Das -1 html javascript jquery json

我的 Web 应用程序中有一个下拉列表,我需要能够在其中以正确的顺序绑定过去 12 个月。假设现在是 2016 年 2 月,因此下拉列表必须显示 3 月,然后是 4 月、5 月、6 月……直到 1 月。

<label>Select Month</label>
<select id = "drp1" onchange="mnth=this.value; drawChart1();">
    <option value="JAN">January</option>
    <option value="FEB">February</option>
    <option value="MAR">March</option>
    <option value="APR">April</option>
    <option value="MAY">May</option>
    <option value="JUN">June</option>
    <option value="JUL">July</option>
    <option value="AUG">August</option>
    <option value="SEP">September</option>
    <option value="OCT">October</option>
    <option value="NOV">November</option>
    <option value="DEC">December</option>
</select>
Run Code Online (Sandbox Code Playgroud)

我希望在页面加载时按正确顺序设置值。我无法弄清楚哪个 Javascript 函数能够执行此操作,或者如何将值绑定到 JSON 并使用它来创建下拉列表中的选项。任何人都可以帮我吗?

Ray*_*yon 6

new Date() 将返回当前日期对象。

DateObj.getMonth()将从monthDate 对象(0-11)返回

您可以像这样动态创建选项:

var date = new Date();
date.setMonth(date.getMonth() + 1);
var months = 12;
var monthNames = ["January", "February", "March", "April", "May", "June",
  "July", "August", "September", "October", "November", "December"
];
var select = document.getElementById('drp1');
var html = '';
for (var i = 0; i < months; i++) {
  var m = date.getMonth();
  html += '<option value="' + monthNames[m] + '">' + monthNames[m] + '</option>'
  date.setMonth(date.getMonth() + 1);
}
select.innerHTML = html;
Run Code Online (Sandbox Code Playgroud)
<select id="drp1"></select>
Run Code Online (Sandbox Code Playgroud)

在这里摆弄