Jquery 생년월일 컨트롤
5625 단어 JavaScriptjQuery
jQuery.noConflict();
jQuery(function ($) {
var $birthYear = $('.gbiaps_birthday_year');
var year = new Date().getFullYear();
$('<option value="' + (year - 1) + '" selected="selected" >' + (year - 1) + '</option>').appendTo($birthYear);
for (var i = 2; i <= 100; i++) {
var y = year - i;
$('<option value="' + y + '" >' + y + '</option>').appendTo($birthYear);
}
var $birthMonth = $('.gbiaps_birthday_month');
$('<option value="1" selected="selected">1</option>').appendTo($birthMonth);
for (var m = 2; m <= 12; m++) {
$('<option value="' + m + '">' + m + '</option>').appendTo($birthMonth);
}
var $birthDay = $('.gbiaps_birthday_day');
$('<option value="1" selected="selected">1</option> ').appendTo($birthDay);
for (var d = 2; d <= 31; d++) {
$('<option value="' + d + '" >' + d + '</option> ').appendTo($birthDay);
}
//$birthYear.change(onBirthChange);
//$birthMonth.change(onBirthChange);
//$birthDay.change(onBirthChange);
$birthYear.bind('change',onBirthChange);
$birthMonth.bind('change',onBirthChange);
$birthDay.bind('change',onBirthChange);
function onBirthChange() {
var year = $birthYear.find('option:selected').val();
var month = $birthMonth.find('option:selected').val();
var day = $birthDay.find('option:selected').val();
switch (month - 0) {
case 4:
case 6:
case 9:
case 11:
if (day > 30) {
setBirthDate(year, month, 30);
}
showData(29,'show');
showData(30,'show');
showData(31,'hide');
break;
case 2:
if (!isLeapYear(year)) {
showData(29,'hide');
if (day > 28)
setBirthDate(year, 2, 28);
}else{
if (day > 29)
setBirthDate(year, 2, 29);
showData(29,'show');
}
showData(30,'hide');
showData(31,'hide');
break;
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
showData(29,'show');
showData(30,'show');
showData(31,'show');
break;
}
}
function showData(i,value){
if(value == 'show'){
//console.log($birthDay.find('option[value="'+ i +'"]').is('option'));
if(!$birthDay.find('option[value="'+ i +'"]').is('option'))
$('<option value="' + i + '" >' + i + '</option> ').appendTo($birthDay);
}
if(value == 'hide'){
if($birthDay.find('option[value="'+ i +'"]'))
$birthDay.find('option[value="'+ i +'"]').remove();
}
}
//setBirthDate(1985, 9, 19);
var birthDate = $birthYear.attr('data-birthday').split('-');
setBirthDate(parseInt(birthDate[0]), parseInt(birthDate[1]), parseInt(birthDate[2]));
/**
year
*/
function isLeapYear(year) {
return(0 == year % 4 && (year % 100 != 0 || year % 400 == 0));
}
function setBirthDate(year, month, day) {
$birthYear.val(year);
$birthMonth.val(month);
$birthDay.val(day);
}
});
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
기초 정리 - 1문자 (String) 숫자 (Number) 불린 (Boolean) null undefined 심볼 (Symbol) 큰정수 (BigInt) 따옴표로 묶어 있어야 함 Not-A-Number - 숫자 데이터 / 숫자로 표...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.