在ng-change中不考虑Jquery datepicker选择日期 – AngularJS

请帮我解决这个问题。 我在AngularJS中使用jquery datepicker。 我试图获取所选日期并使用函数作为参数传递它。 为此,我使用以下代码。

HTML:

 

日期选择器:

 $( "#date1" ).datepicker(); 

AngularJS:

 function getOrg($scope, $http) { $scope.newTest = function(start_date){ alert(start_date); }; } 

需要将这些复杂的UI组件包装到指令中以维护模型数据绑定。 对于jQuery日期选择器,您可以查看此问题 ,或者围绕“jquery datepicker指令”进行搜索。

  
 var app = angular.module('reports', []) .directive("datepicker1", function () { return { restrict: "A", link: function ($scope, $element, $attr, $controller) { $element.datepicker({ changeMonth: false, showOtherMonths: true, numberOfMonths: 2, dayNamesMin: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], onSelect: function (date) { $scope.gettingStartDate = date; $scope.$apply(); $scope.fromDateSend(date); // function call }, onClose: function (selectedDate) { $("#date2").datepicker("option", "minDate", selectedDate); } }); } }; }); 

你应该改变整个方法。 使用jQueryUI datepicker指令:

 angular .module('App',['ui.date']) .directive('customDatepicker',function($compile){ return { replace:true, templateUrl:'custom-datepicker.html', scope: { ngModel: '=', dateOptions: '=' }, link: function($scope, $element, $attrs, $controller){ var $button = $element.find('button'); var $input = $element.find('input'); $button.on('click',function(){ if($input.is(':focus')){ $input.trigger('blur'); } else { $input.trigger('focus'); } }); } }; }) 

见演示