0
나는 내 양식에 출생 입력 필드의 날짜가 있습니다. 그러나, 당신이 그것을 선택하면 1930이 상단에 나타납니다 2017선택 입력 해 내림차순
-1930에 이르기까지 년의 목록을 표시 할 때 자바 스크립트를 사용하는 HTML 선택 상자가 있습니다. 이상적으로, 2017이 꼭대기에 있어야합니다.
나는이 간단한 수정 확신 해요,하지만 난 내가 잘못 갔어요 위치를 확인할 수없는 것.
도움 주셔서 감사합니다. 대신 루프에 대한
var Days = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; // index => month [0-11]
$(document).ready(function() {
var option = '<option value="day">DD</option>';
var selectedDay = "day";
for (var i = 1; i <= Days[0]; i++) { //add option days
if (i < 10) {
option += '<option value="0' + i + '">0' + i + '</option>';
} else {
option += '<option value="' + i + '">' + i + '</option>';
}
}
$('#day').append(option);
$('#day').val(selectedDay);
var option = '<option value="month">MM</option>';
var selectedMon = "month";
for (var i = 1; i <= 12; i++) {
if (i < 10) {
option += '<option value="0' + i + '">0' + i + '</option>';
} else {
option += '<option value="' + i + '">' + i + '</option>';
}
}
$('#month').append(option);
$('#month').val(selectedMon);
var d = new Date();
var option = '<option value="year">YYYY</option>';
selectedYear = "year";
for (var i = 1930; i <= d.getFullYear(); i++) { // years start i
option += '<option value="' + i + '">' + i + '</option>';
}
$('#year').append(option);
$('#year').val(selectedYear);
});
function isLeapYear(year) {
year = parseInt(year);
if (year % 4 != 0) {
return false;
} else if (year % 400 == 0) {
return true;
} else if (year % 100 == 0) {
return false;
} else {
return true;
}
}
function change_year(select) {
if (isLeapYear($(select).val())) {
Days[1] = 29;
if ($("#month").val() == 2) {
var day = $('#day');
var val = $(day).val();
$(day).empty();
var option = '<option value="day">DD</option>';
for (var i = 1; i <= Days[1]; i++) { //add option days
option += '<option value="' + i + '">' + i + '</option>';
}
$(day).append(option);
if (val > Days[month]) {
val = 1;
}
$(day).val(val);
}
} else {
Days[1] = 28;
}
}
function change_month(select) {
var day = $('#day');
var val = $(day).val();
$(day).empty();
var option = '<option value="day">DD</option>';
var month = parseInt($(select).val()) - 1;
for (var i = 1; i <= Days[month]; i++) { //add option days
option += '<option value="' + i + '">' + i + '</option>';
}
$(day).append(option);
if (val > Days[month]) {
val = 1;
}
$(day).val(val);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<label>Date of birth (DD-MM-YYYY)</label>
<select id="day" name="day"></select>
<select id="month" name="month"></select>
<select id="year" name="year"></select>
완벽하게 작동합니다! 고맙습니다 –