最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于angular實現(xiàn)三級聯(lián)動的生日插件

 更新時間:2017年05月12日 17:24:45   作者:鶯哥  
這篇文章主要為大家詳細介紹了基于angular實現(xiàn)三級聯(lián)動的生日插件,具有一定的參考價值,感興趣的小伙伴們可以參考一下

寫了一個生日聯(lián)動插件具體的效果是這樣的:

具體的數(shù)據

我取得數(shù)據是今年的數(shù)據,如果是想要做三級聯(lián)動的日期插件,改一下時間就好了

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("-");
     }
    }
   }
  }
 })
});

 html

<div select-datepicker birthday="birthday"> 

js 傳入的數(shù)據

 $scope.birthday={
   birthday:1993-01-20,
   returnValue:'',
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • AngularJS模板加載用法詳解

    AngularJS模板加載用法詳解

    這篇文章主要介紹了AngularJS模板加載用法,結合實例形式詳細分析了AngularJS模板加載所涉及的屬性、方法、使用技巧與相關注意事項,需要的朋友可以參考下
    2016-11-11
  • Webpack 實現(xiàn) AngularJS 的延遲加載

    Webpack 實現(xiàn) AngularJS 的延遲加載

    這篇文章主要介紹了Webpack 實現(xiàn) AngularJS 的延遲加載的相關資料,需要的朋友可以參考下
    2016-03-03
  • 利用Angular+Angular-Ui實現(xiàn)分頁(代碼加簡單)

    利用Angular+Angular-Ui實現(xiàn)分頁(代碼加簡單)

    這篇文章主要介紹了利用Angular+Angular-Ui實現(xiàn)分頁,利用Angular+Angular-Ui實現(xiàn)的分頁分頁代碼更加簡單,更加容易懂哦,相信本文的內容對大家具有一定的參考價值,需要的朋友們下面來一起看看吧。
    2017-03-03
  • AngularJS 日期格式化詳解

    AngularJS 日期格式化詳解

    AngularJS的日期格式化有兩種形式,一種是在HTML頁面,一種是在JS代碼里,都是用到AngularJS的過濾器$filter
    2015-12-12
  • 解決angularJS中input標簽的ng-change事件無效問題

    解決angularJS中input標簽的ng-change事件無效問題

    今天小編就為大家分享一篇解決angularJS中input標簽的ng-change事件無效問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09
  • Angular.JS判斷復選框checkbox是否選中并實時顯示

    Angular.JS判斷復選框checkbox是否選中并實時顯示

    最近因為工作需要做了一個選擇標簽的功能,把一些標簽展示給用戶,用戶選擇自己喜歡的標簽,就類似我們在購物網站看到的那種過濾標簽似的,所以這篇文章就給大家介紹了Angular.JS判斷復選框checkbox是否選中并實時顯示的方法,下面來一起看看吧。
    2016-11-11
  • AngularJS中$watch和$timeout的使用示例

    AngularJS中$watch和$timeout的使用示例

    這篇文章給大家介紹了AngularJS中$watch和$timeout的使用例子,通過示例代碼相信更能讓大家理解,有需要的朋友們下面來一起看看吧。
    2016-09-09
  • AngularJs  E2E Testing 詳解

    AngularJs E2E Testing 詳解

    本文主要介紹AngularJs E2E Testing的資料,這里整理了詳細的資料,及簡單代碼示例,有興趣的小伙伴可以參考下
    2016-09-09
  • AngularJS之依賴注入模擬實現(xiàn)

    AngularJS之依賴注入模擬實現(xiàn)

    這篇文章主要為大家詳細介紹了AngularJS依賴注入模擬實現(xiàn),感興趣的小伙伴們可以參考一下
    2016-08-08
  • AngularJs表單驗證實例詳解

    AngularJs表單驗證實例詳解

    這篇文章主要介紹了用AngularJs驗證表單實例詳解的相關資料,需要的朋友可以參考下
    2016-05-05

最新評論

商水县| 九龙县| 禹州市| 古交市| 定州市| 乌什县| 兴和县| 邯郸县| 永善县| 禹州市| 临城县| 庆城县| 嘉义县| 保靖县| 巴彦淖尔市| 辽阳市| 祁连县| 壤塘县| 黎城县| 重庆市| 兴安县| 辰溪县| 哈巴河县| 台中县| 晋江市| 静宁县| 浙江省| 浪卡子县| 江阴市| 华容县| 曲麻莱县| 海盐县| 嘉禾县| 延川县| 伊金霍洛旗| 博乐市| 安化县| 天全县| 丽江市| 伽师县| 奎屯市|