Выделенные даты из базы данных не отображаются при первой загрузке при открытии загрузчика даты запуска - PullRequest
0 голосов
/ 19 сентября 2019

У меня есть загрузчик даты начальной загрузки.Мне нужно показать некоторые конкретные даты, выделенные внутри выбора даты.Я выбираю даты из моего контроллера в jquery, используя Ajax.Однако я не могу показать подсвеченные даты при первом открытии средства выбора даты.

Мне нужно изменить месяц или год, выбрать конкретную дату или в основном выполнить какое-либо действие с помощью средства выбора даты начальной загрузки, а затемвыделенные даты показаны зеленым цветом.

Я извлекаю даты из базы данных для каждой записи.Даты для каждой записи разные.

Я пытался приравнять переменную active_dates к функции ajaxDates (), но все равно не повезло.

   var id = "@ID";
   var active_dates = ajaxDates();

    //$('#strdatevalues').hide();

    //var active = $("#scoutdatevalues > #ajaxDate").map(function () {
    //    return new Date(this.innerHTML.match(/\d+/));
    //}).get().join(",");


    function ajaxDates() {
        $.ajax({
            url: '@Url.Action("GetSampleDates", "Driller")',
            data: ({ "id": id }),
            success: function (data, status) {
                active_dates =  data;
            },
            error: function (request, status, error) {

            }
        });

        return active_dates;
    }


    $('.datepicker').datepicker({
        format: 'mm-dd-yyyy',
        endDate: '+0d',
        autoclose: true,

        beforeShowDay: function (date) {
            var d = date;
            var curr_date = d.getDate();
            var curr_month = d.getMonth() + 1; //Months are zero based
            var curr_year = d.getFullYear();
            var formattedDate = curr_month + "/" + curr_date + "/" + curr_year;



            if ($.inArray(formattedDate, active_dates) != -1) {
                return {
                    classes: 'activeClass'
                };
            }

        }
    });

Контроллер:

public JsonResult GetSampleDates(string id) {
    DrillEntities db = new DrillEntities();
    List<string> _ScoutDates = new List<string>();
    foreach(var item in db.SCOUT_LOOP.Where(a => a.apiId == id).ToList())
    {
        _ScoutDates.Add(item.STR_DATE.Value.ToShortDateString());
    }
    return Json(_ScoutDates,JsonRequestBehavior.AllowGet);
}
...