写了一个生日联动插件具体的效果是这样的:

具体的数据
我取得数据是今年的数据,如果是想要做三级联动的日期插件,改一下时间就好了
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 传入的数据
$scope.birthday={
birthday:1993-01-20,
returnValue:'',
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# angular三级联动插件
# angular生日插件
# angular三级联动日期插件
# AngularJS实现的select二级联动下拉菜单功能示例
# Angularjs实现下拉框联动的示例代码
# Angularjs自定义指令实现三级联动 选择地理位置
# 基于AngularJs + Bootstrap + AngularStrap相结合实现省市区联动代码
# 实例详解AngularJS实现无限级联动菜单
# AngularJS实现的省市二级联动功能示例【可对选项实现增删】
# 是这样
# 写了
# 主要内容
# 大家多多
# 就好了
# gt
# getFullYear
# lt
# month
# day
# year
# data
# nowyear
# Date
# String
# scope
# false
# birthday
# true
# transclude
相关文章:
制作网站的网址是什么,请问后缀为.com和.com.cn还有.cn的这三种网站是分别是什么类型的网站?
广州网站建站公司选择指南:建站流程与SEO优化关键词解析
深圳 网站制作,深圳招聘网站哪个比较好一点啊?
如何在万网自助建站中设置域名及备案?
大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?
宝塔面板如何快速创建新站点?
如何在Golang中实现微服务服务拆分_Golang微服务拆分与接口管理方法
如何用PHP快速搭建高效网站?分步指南
武清网站制作公司,天津武清个人营业执照注销查询系统网站?
如何通过IIS搭建网站并配置访问权限?
济南网站建设制作公司,室内设计网站一般都有哪些功能?
北京网页设计制作网站有哪些,继续教育自动播放怎么设置?
上海网站制作网页,上海本地的生活网站有哪些?最好包括生活的各个方面的?
盘锦网站制作公司,盘锦大洼有多少5G网站?
小自动建站系统:AI智能生成+拖拽模板,多端适配一键搭建
宝塔建站教程:一键部署配置流程与SEO优化实战指南
如何选择高效响应式自助建站源码系统?
,南京靠谱的征婚网站?
建站主机与虚拟主机有何区别?如何选择最优方案?
南宁网站建设制作定制,南宁网站建设可以定制吗?
网站专业制作公司,网站编辑是做什么的?好做吗?工作前景如何?
金*站制作公司有哪些,金华教育集团官网?
网站制作和推广的区别,想自己建立一个网站做推广,有什么快捷方法马上做好一个网站?
javascript中的try catch异常捕获机制用法分析
如何用好域名打造高点击率的自主建站?
魔毅自助建站系统:模板定制与SEO优化一键生成指南
建站之星体验版:智能建站系统+响应式设计,多端适配快速建站
制作营销网站公司,淘特是干什么用的?
电商网站制作公司有哪些,1688网是什么意思?
网站制作费用多少钱,一个网站的运营,需要哪些费用?
网站建设制作、微信公众号,公明人民医院怎么在网上预约?
济南专业网站制作公司,济南信息工程学校怎么样?
Swift中swift中的switch 语句
建站主机无法访问?如何排查域名与服务器问题
韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐
网站制作培训多少钱一个月,网站优化seo培训课程有哪些?
html制作网站的步骤有哪些,iapp如何添加网页?
美食网站链接制作教程视频,哪个教做美食的网站比较专业点?
如何用已有域名快速搭建网站?
三星网站视频制作教程下载,三星w23网页如何全屏?
深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?
深圳防火门网站制作公司,深圳中天明防火门怎么编码?
教学网站制作软件,学习*后期制作的网站有哪些?
视频网站制作教程,怎么样制作优酷网的小视频?
网页设计网站制作软件,microsoft office哪个可以创建网页?
建站之星IIS配置教程:代码生成技巧与站点搭建指南
如何基于云服务器快速搭建网站及云盘系统?
定制建站平台哪家好?企业官网搭建与快速建站方案推荐
利用JavaScript实现拖拽改变元素大小
c# 服务器GC和工作站GC的区别和设置
*请认真填写需求信息,我们会在24小时内与您取得联系。