如何在AngularJS中使用日期选择器,使用自定义指令作为类
How to use datepicker in AngularJS using custom directive as a class?
下面是我使用的HTML和Javascript代码。
HTML代码:
<html>
<head>
<script
src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.26/angular.min.js"></script>
<script src="date.js"></script>
</head>
<body>
<div ng-app="app">
<input type="text" ng-model="date" class="datepicker"></input>
{{ date }}
</div>
</body>
</html>
Java脚本:
var datePicker = angular.module('app', []);
datePicker.directive('datepicker', function () {
return {
restrict: 'C',
require: 'ngModel',
link: function (scope, element, attrs, ngModelCtrl) {
element.datepicker({
dateFormat: 'dd, MM, yy',
onSelect: function (date) {
scope.date = date;
scope.$apply();
}
});
}
};
});
现在,当我点击文本框时,日期选择器弹出窗口不会出现。
有人能帮我提供一个解决方案,让这个日期选择器工作吗?
我可以在您的代码中看到一些错误。您没有具体说明您使用的是哪个日期选择器,所以我认为它是jquery。基于标记的UI。
1) 您需要添加jquery。UI CSS也是
2) 您不能使用元素。日期选择器。元件不是jQuery对象。您需要将其制作成jquery对象。像波纹管
HTML:
<div ng-app="myApp">
<input type="text" ng-model="date" class="datepicker"></input>
</div>
JS:
var app = angular.module('myApp', []);
app.directive('datepicker', function () {
return {
restrict: 'C',
require: 'ngModel',
link: function (scope, element, attrs, ngModelCtrl) {
$(element).datepicker({
dateFormat: 'dd, MM, yy',
onSelect: function (date) {
scope.date = date;
scope.$apply();
}
});
}
Y};
});
这是一把正在工作的小提琴http://jsfiddle.net/esx6k1nc/
我不确定这是否与引导程序日期选择器的格式相同。这对我使用bootstrap日期选择器时很有效。将此添加到您的控制器:
$('#datepicker').datepicker({
todayHighlight: true,
format: 'mm/dd/yyyy',
autoclose: true
}).on('changeDate', function (date) {
$scope.date = date.format();
$scope.$apply();
});
相关文章:
- 如何在自定义指令中获取计算的属性
- 向动态生成的DOM添加Angular自定义指令
- 自定义指令中的AngularJS ng模型
- 如何在html中以角度显示自定义指令的作用域
- 自定义指令模板中的AngularJS控制变量
- AngularJS通过自定义指令传递点击的项目
- 如何在angularjs中将多个作用域变量传递到自定义指令中
- 处理角度自定义指令中的onReady事件
- 为什么ng中的自定义指令在循环完成后重复运行
- 对于使用传递的数据计算的局部范围变量,角度绑定在自定义指令中不起作用
- Angular.JS自定义指令;不起作用
- 如何通过Angular中的$resource发送来自自定义指令的输入值
- AngularJS:如何访问自定义指令中的input[date]min属性
- AngularJS:ngRepeat作用域在具有隔离作用域和ngTransclude的自定义指令中失败
- 如何使用其他自定义指令中的元素标记作为另一个自定义指令的模板
- 如何限制自定义指令的可能属性值
- 动态网格作为自定义指令
- AngularJS - 在自定义指令中继承ngModel
- 调用另一个自定义指令的角度自定义指令
- 在 AngularJs 中验证自定义指令(我想让它成为必需的)