组合日期,从月和年列表中获得天数基础

combo date, get days base from month and list of years

本文关键字:列表 日期 组合      更新时间:2023-09-26

是否有一种方法可以列出从1991年到现在(2015年)的年份,既不使用香草js也不使用momentjs?到目前为止,我只能检索到当前选定月份的天数列表。有什么帮助、想法、建议或线索吗?

$(document).ready(function(){
  $("select[name='months']").change(function(){
    gg($("select[name='years']").val(),$(this).val());
  });
  
});
function gg(year, month) {
//  var names = [ 'sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat' ];
  var date = new Date(year, month-1, 1);
  var result = [];
  while (date.getMonth() == month-1) {
    result.push(date.getDate());
    date.setDate(date.getDate()+1);
  }
  $.each(result, function(index, value){
     $("select[name='days']").append('<option name="' + value + '">' + value + '</option>'); 
  });
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<label>Days</label>
<select name="days">
  
</select>
<label>Months</label>
<select name="months">
  <option value="01" selected>January</option>
  <option value="02">February</option>
  <option value="03">March</option>
  <option value="04">April</option>
  <option value="05">May</option>
  <option value="06">June</option>
  <option value="07">July</option>
  <option value="08">August</option>
  <option value="09">September</option>
  <option value="10">October</option>
  <option value="11">November</option>
  <option value="12">December</option>
</select>
<label>Year</label>
<select name="years">
  <option value="2015" selected>2015</option>
  <option value="2014">2014</option>
  <option value="2013">2013</option>
  <option value="2012">2012</option>
  <option value="2011">2011</option>
  <option value="2010">2010</option>
  <option value="2009">2009</option>
  <option value="2008">2008</option>
  <option value="2007">2007</option>
  <option value="2006">2006</option>
  <option value="2005">2005</option>
  <option value="2004">2004</option>
  <option value="2003">2003</option>
  <option value="2002">2002</option>
  <option value="2001">2001</option>
  <option value="2000">2000</option>
  <option value="1999">1999</option>
  <option value="1998">1998</option>
  <option value="1997">1997</option>
  <option value="1996">1996</option>
  <option value="1995">1995</option>
  <option value="1994">1994</option>
  <option value="1993">1993</option>
  <option value="1992">1990</option>
  <option value="1991">1991</option>
  
</select>

如果您的年份选择列表从一开始就是空的

<select name="years"></select>

那么你可以将它添加到$(document).ready()函数

var $years = $("select[name='years']");
for(var i = 1991; i <= 2015; i++) {
    $years.prepend("<option value='" + i + "'>" + i + "</option>");
}