Jquery 引导DateTimePicker-角度传感器的更改事件
鉴于以下演示: 我希望每次控制器值的日期更改时都进行更新。因此,每次从ng模型更改值下方的框中选择新日期时 然而,在使用下面的指令时,我得到了上面写的错误Jquery 引导DateTimePicker-角度传感器的更改事件,jquery,angularjs,twitter-bootstrap,datetimepicker,Jquery,Angularjs,Twitter Bootstrap,Datetimepicker,鉴于以下演示: 我希望每次控制器值的日期更改时都进行更新。因此,每次从ng模型更改值下方的框中选择新日期时 然而,在使用下面的指令时,我得到了上面写的错误 app.directive('datetimepicker', function () { return { restrict: 'A', require : 'ngModel', link : function (scope, element, attrs, ngModelCtrl
app.directive('datetimepicker', function () {
return {
restrict: 'A',
require : 'ngModel',
link : function (scope, element, attrs, ngModelCtrl) {
element.datetimepicker({
onRender:function (date) {
// Triggers a digest to update your model
scope.$apply(function () {
ngModelCtrl.$setViewValue(date);
});
}
});
}
}
});
如何检测Datetimepicker的角度变化?Bootstrap的
Datetimepicker
插件不支持构造函数选项中的change
事件,但您可以使用刚刚添加Datetimepicker
的元素的dp.change
事件:
element.datetimepicker({});
element.on('dp.change', function(event) {
scope.$apply(function () {
ngModelCtrl.$setViewValue(event.date.format());
});
})
以下是对JSFIDLE的更新:Eonasdan引导数据采集器在日期更改时触发。使用选定日期更新模型的一种方法是使用以下代码:
var myApp=angular.module('myApp',[]);
myApp.controller('mainCtrl',['$scope',函数($scope){
$scope.compared\u date=“比较日期”;
}]);
指令('datetimepicker',函数(){
返回{
限制:“A”,
要求:'ngModel',
链接:函数(范围、元素、属性、ngModelCtrl){
函数(e)的('dp.change')上的元素.datetimepicker(){
scope.u日期=e.date;
});
}
}
});代码>
模型为:{{compared_date}}
您链接我的内容无效。如果我第二次更改日期超过两次,则不会更改。抱歉,我没有注意到我的代码段在第二次选择日期后不起作用,无论如何,我很高兴您找到了一个有效的解决方案。抱歉:)这是事件
变量,而不是日期
变量。检查更新:)现在它显示了错误的日期为每个挑选;(这是您在日期时间选择器的\u d
对象上的值。您可以使用event.date.format()
。我刚才在回答中更新了。谢谢