У меня есть следующая директива, как я могу реализовать ng-change с ней. директива работает, но ng-change работает только тогда, когда я вручную изменяю значение текстового поля, а не когда меняю его с помощью выбора даты
app.directive('datepicker', function () {
return {
restrict: 'A',
require: 'ngModel',
link: function (scope, element, attrs, ngModelCtrl) {
$(function () {
element.persianDatepicker({
formatDate: "YYYY/0M/0D",
onSelect: function (date) {
scope.$apply(function () {
ngModelCtrl.$setViewValue(date);
});
}
});
});
}
}
});
и в моем HTML
<input datepicker type="text" id="EndDate" ng-model="Filter.EndDate" class="form-control" ng-change="DateSelect()" />
DateSelect() запускается только при изменении значения текстового поля вручную
отредактированный
ng-change
является директивой только для ввода пользователем. Попробуйте вместо этого использовать $watch
. Вот хорошие ответы:
element
в угловом является объект Jquery. Попробуйте удалить$(function () {