привет всем, что я застрял в проблеме, если у какого-нибудь тела есть решение, пожалуйста, помогите мне в этом. в основном я хочу вызвать событие jqueryDatePicker и получить выбранную дату при нажатии на любую дату. Я искал, но не получил решение. Это делается в AngularJs. ниже мой код
<div id="txtfuturedateWeekly" ng-model="employee.Date" jqdatepicker></div>
app.directive('jqdatepicker', function () {
return {
restrict: 'A',
require: 'ngModel',
link: function ($scope, $element) {
$element.datepicker({
dateFormat: 'DD, d MM, yy',
onSelect: function (date) {
$scope.date = date;
$scope.$apply();
}
});
}
};
});
и я хочу вызвать функцию ниже, чтобы быть огнем, когда выбрана дата
function lastDate(date) {
var lDate = date
var myDate = new Date(lDate );
}
function lastDate(date) {
debugger;
var lDate = $scope.employee.Date;//document.getElementById('datepicker').value;// see how to fetch value
var myDate = new Date(lDate);
var startOfWeek = moment(myDate).startOf('isoweek').toDate();
var tue = moment(startOfWeek).add(1, 'days').toDate();
var wed = moment(startOfWeek).add(2, 'days').toDate();
var thu = moment(startOfWeek).add(3, 'days').toDate();
var fri = moment(startOfWeek).add(4, 'days').toDate();
var sat = moment(startOfWeek).add(5, 'days').toDate();
var endOfWeek = moment(myDate).endOf('isoweek').toDate();
var monDay = moment(startOfWeek).format("DD/MM/YYYY");
var tueDay = moment(tue).format("DD/MM/YYYY");
var wedDay = moment(wed).format("DD/MM/YYYY");
var thuDay = moment(thu).format("DD/MM/YYYY");
var friDay = moment(fri).format("DD/MM/YYYY");
var satDay = moment(sat).format("DD/MM/YYYY");
var sunDay = moment(endOfWeek).format("DD/MM/YYYY");
$scope.employee.day1 = monDay;
$scope.employee.day2 = tueDay;
$scope.employee.day3 = wedDay;
$scope.employee.day4 = thuDay;
$scope.employee.day5 = friDay;
$scope.employee.day6 = satDay;
$scope.employee.day7 = sunDay;
$scope.employee.Date = monDay;
}
Я не тестировал это, но думаю, вы можете сделать что-то вроде этого:
app.directive('jqdatepicker', function () {
return {
restrict: 'A',
require: 'ngModel',
scope: {
ngModel: '=',
ngChange: '&'
},
link: function (scope, element, attrs, ngModel) {
element.datepicker({
dateFormat: 'DD, d MM, yy',
onSelect: function (date) {
scope.$apply(function() {
scope.ngModel = date;
if(scope.ngChange) {
scope.ngChange(date);
}
});
}
});
}
};
});
а затем в вашем html (если у вас есть lastDate()
в области):
<div ng-model="employee.Date" jqdatepicker ng-change="lastDate(employee.Date)"></div>
lastDate
выглядит как контроллер, но $ scope не вводится и не является моментом. Я думал, что вы хотите вызвать функциюlastDate
при изменении. То, что вы показываете мне здесь, этоlastDate
в качестве контроллера, а не функция в области видимости контроллера, как я ожидал.