JSFiddle - React, Tailwind, and code Playground
by Сергей Тарасевич
HTML
<div data-calendar=""></div>
JavaScript
var month_names = ["января", "февраля", "марта", "апреля", "мая", "июня", "июля", "августа", "сентября", "октября", "ноября", "декабря"];
$(document).on('change', '[data-calendar] select', function() {
var a = $(this),
b = a.data('update_profile'),
c = [$('[data-update_profile="birthday_day"]').val(), $('[data-update_profile="birthday_month"]').val(), $('[data-update_profile="birthday_year"]').val()];
if (b != 'birthday_day' && b == 'birthday_month' || b == 'birthday_year') {
fun_calendar(c);
}
});
function fun_calendar(a) {
var nD = new Date(),
dy = nD.getFullYear() - 14,
dm = nD.getMonth(),
dd = nD.getDate(),
xD = $('[data-calendar]').data('calendar'),
s1 = '',
s2 = '',
dC = '';
if (a != false) {
var dd2 = a[0],
dm2 = a[1],
dy2 = a[2];
} else {
var dd2 = dd,
dm2 = dm,
dy2 = dy;
}
dC = new Date(dy2, dm2, 0).getDate();
console.log('мак день ' + dC);
console.log('день ' + dd2);
console.log('месяц ' + dm2);
console.log('год ' + dy2);
/*************/
s1 += '<select class="select_fool" data-update_profile="birthday_day" name="birthday[day]">';
for (var i = 1; i <= dC; i++) {
s2 = '';
if (i == dd2) {
s2 = ' selected';
}
s1 += '<option value="' + i + '"' + s2 + '>' + i + '</option>';
}
s1 += '</select>';
/*************/
s1 += '<select class="select_fool" data-update_profile="birthday_month" name="birthday[month]">';
for (var i = 0; i < 12; i++) {
s2 = '';
if (i == dm2) {
s2 = ' selected';
}
s1 += '<option value="' + i + '"' + s2 + '>' + month_names[i] + '</option>';
}
s1 += '</select>';
/*************/
s1 += '<select class="select_fool" data-update_profile="birthday_year" name="birthday[year]">';
for (var i = dy; i >= dy - 100; i--) {
...