Генерировать годы для выпадающего списка в jQuery

#jquery #drop-down-menu

#jquery #выпадающее меню

Вопрос:

Я столкнулся с небольшой проблемой, я пытаюсь придумать способ ее исправить.

В принципе, что я хочу сделать, это отнять 18 лет от года ie: 2011, который возвращает 1993, и сгенерировать выпадающий список, чтобы пользователь мог выбрать любой год до этого.

В основном они должны показать, что они достигли установленного законом возраста 18.

Ответ №1:

 var minOffset = 18,
    maxOffset = 100;

var thisYear = new Date().getFullYear();
var select = $('<select>');

for (var i = minOffset; i <= maxOffset; i  ) {
  var year = thisYear - i;
  $('<option>', { value: year, text: year }).appendTo(select);
}

select.appendTo('body');  
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>  

Демонстрация: http://jsfiddle.net/DhpBg /.

Ответ №2:

 var minOffset = 0, maxOffset = 100; // Change to whatever you want // minOffset = 0 for current year 
var thisYear = (new Date()).getFullYear();
var m_names = ['January', 'February', 'March','April', 'May', 'June', 'July','August', 'September', 'October','November', 'December'];
var month = 0   // month = (new Date()).getMonth(); // for cuurent month
for (var j = month; j <= 11; j  ) {var months = m_names[ 0   j].slice( 0, 3 ); $('<option>', {value: months, text: months}).appendTo(".month"); }
for (var i = minOffset; i <= maxOffset; i  ) { var year = thisYear   i; $('<option>', {value: year, text: year}).appendTo(".year");}  
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<select class="year">

</select>

<select class="month">

</select>  

лучшее решение для месяца и года с помощью jquery

www.jsfiddle.net/sudharshanreddyjanike/byvotshz/2/

Ответ №3:

Вы можете сделать это на родном Javascript без какого-либо jQuery довольно легко.

Демонстрация: http://jsbin.com/orasa5/2 /

Редактировать: Не уверен, почему я создавал узел для каждого параметра. Я думаю, сейчас раннее утро.

Ответ №4:

 <select name="Year" class="bdayyear">
    <option value="year">Year</option>
    <script language="javascript">
                for (var i = 1960; i < 2010; i   ) {
                    document.write("<option value=""   i   "">"   i   "</option>n");
                }
            </script>
    </select>
  

Я надеюсь, что это поможет, потому что это в значительной степени то, как это делается.