#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>
Я надеюсь, что это поможет, потому что это в значительной степени то, как это делается.