как я вызвал jqueryDatePicker

0

привет всем, что я застрял в проблеме, если у какого-нибудь тела есть решение, пожалуйста, помогите мне в этом. в основном я хочу вызвать событие 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 );       

}

Изображение 174551

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;

}
  • 0
    Я не уверен, что понимаю, как все устроено. lastDate выглядит как контроллер, но $ scope не вводится и не является моментом. Я думал, что вы хотите вызвать функцию lastDate при изменении. То, что вы показываете мне здесь, это lastDate в качестве контроллера, а не функция в области видимости контроллера, как я ожидал.
Теги:

1 ответ

0

Я не тестировал это, но думаю, вы можете сделать что-то вроде этого:

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>
  • 0
    это не работает
  • 0
    Хорошо, попробуй эту новую версию
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню