angular 기반 3 급 연동 생일 플러그 인
구체 적 데이터
제 가 얻 은 데 이 터 는 올해 의 데이터 입 니 다.3 급 연동 날짜 플러그 인 을 만 들 려 면 시간 을 바 꾸 었 으 면 좋 겠 습 니 다.
var app=angular.module("dataPicker",[])
app.factory('dataPicker', ['$http', '$q', function ($http, $q) {
return {
query: function () {
var lengthYear=100;
var dataPicker={
month:[],
year:[],
day:[]
};
var data = new Date();
var nowyear = data.getFullYear();
for(var i=nowyear,j=0; i>nowyear-lengthYear;i--,j++){
dataPicker.year[j]=i;
}
for(var i=0;i<=11;i++){
if(i<9){
dataPicker.month[i]='0'+(i+1);
}else{
dataPicker.month[i]=String(i+1);
}
}
return dataPicker;
}
}
}])
directive 플러그 인의 주요 내용
app.directive('selectDatepicker', function ($http,dataPicker) {
return {
restrict: 'EAMC',
replace: false,
scope: {
birthday: '=birthday'
},
transclude: true,
template: '<span> </span>'+
'<select class="sel_year" ng-model="birY" ng-change="changeYear()"><option ng-repeat="x in yearAll">{{x}}</option></select>'+
'<select class="sel_month" ng-model="birM" ng-change="changeMonth()" ng-disabled="birY==\'\'"><option ng-repeat="x in MonthAll">{{x}}</option> </select>'+
'<select class="sel_day" ng-model="birD" ng-disabled="birM==\'\'" ng-change="changeDay()"><option ng-repeat="x in DayAll">{{x}}</option></select>',
link: function (scope, element){
var arr=[];
scope.birthday=scope.birthday=='0000-00-00'?"":scope.birthday
var shuju=dataPicker.query()
scope.yearAll=shuju.year;
scope.MonthAll=shuju.month;
if(scope.birthday){
scope.birY=scope.birthday.birthday.split('-')[0];
scope.birM=String(scope.birthday.birthday.split('-')[1])
}else{
scope.birY="";
scope.birM="";
}
scope.getDaysInOneMonth=function(year, month){
var month1 = Number(month);
month1=parseInt(month1,10)
var d= new Date(Number(year),month1,0);
return d.getDate();
}
scope.getDayArr=function(day){
shuju.day=[];
for(var i=0; i<day;i++){
if(i<9){
shuju.day[i]='0'+(i+1)
}else{
shuju.day[i]=String((i+1));
}
}
}
if(scope.birthday){
var day=scope.getDaysInOneMonth(scope.birthday.birthday.split('-')[0],scope.birthday.birthday.split('-')[1]);
scope.getDayArr(day)
scope.DayAll=shuju.day;
scope.birD=scope.birthday.birthday.split('-')[2]
}
scope.changeYear=function(){
scope.birD="";
scope.birM="";
}
scope.changeMonth=function(){
var day=scope.getDaysInOneMonth(scope.birY,scope.birM);
console.log(day)
scope.getDayArr(day);
scope.DayAll=shuju.day;
scope.birD="";
}
scope.changeDay=function(){
scope.returnDate();
}
scope.returnDate=function(){
if(!scope.birD||!scope.birY||!scope.birM){
scope.birthday.returnValue="";
}else{
arr[0]=scope.birY;
arr[1]=scope.birM;
arr[2]=scope.birD;
scope.birthday.returnValue=arr.join("-");
}
}
}
}
})
});
htmljs 들 어 오 는 데이터
$scope.birthday={
birthday:1993-01-20,
returnValue:'',
}
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Angular에서 타사 스크립트 및 CSS 작업Angular 방식으로 회로도가 있는 외부 라이브러리를 추가하거나 모듈을 가져옵니다. Angular.json은 Angular 프로젝트의 모든 설정 파일이며 표준 JavaScript 및 CSS 파일과 함께 타사 라이브...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.