Как обновить даты событий в календаре (DatePicker) - PullRequest
0 голосов
/ 24 марта 2019

На самом деле у меня две проблемы

1 - Я пытался выделить некоторые даты в календаре, но стиль не работает после загрузки страницы, если я не нажму на календарь, тогда он будет работать

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

для первой проблемы, которую я пыталсячтобы добавить эти команды после того, как я инициализировал указатель даты - $('.ui-datepicker-current-day').click(); - $("#datepicker").trigger("click"); - $('#datepicker').datepicker("refresh");

Это код получения дат события

 function EventDates() {

       var apiURL = '@Url.Content("~")api/GeDate';
        var eventDates = {};

        $.ajax({
            url: apiURL,
            success: function (data) {
                $.each(data, function (i, item) {
                    //alert(item.Date1)
                    eventDates[new Date(item.Date1)] = new Date(item.Date1);
                });        
            }
        })
        // datepicker
        $('#datepicker').datepicker({
            numberOfMonths: [3, 1],
            dateFormat: "mm/dd/yy",
            onSelect: function (dateText, inst) {
                jQuery('#calendar_date').val(dateText);
                CheckDate();
            },
            beforeShowDay: function (date) {
                var highlight = eventDates[date];           
                if (highlight) {
                    return [true, "event", 'There is a text'];
                } else {
                    return [true, '', ''];
               }

            }
        });

        //   $('#datepicker').datepicker("refresh");

    }
function Save()
{

var params = [];
// globalDeptID
params.push({ name: "Date", value: $('#calendar_date').val()});
params.push({ name: "Message_E", value:$('#EN').val() });
params.push({ name: "CreatedBy", value: '@ViewBag.ID' });
params.push({ name: "ModifiedBy", value: '@ViewBag.ID'});
var apiURL = '@Url.Content("~")api/InsertAndUpdate';
$.ajax({
url: apiURL,
data: params,
type: "POST",
success: function (data, textStatus, jqXHR) {

swal("Success", "The message has been saved successfully.", "success"); EventDates(); 
$("#datepicker").datepicker("refresh");

},
error: function (err) {
//alert("An error occured. Could not submit your request.");
swal({
text: "An error occured.",
icon: "error"
});
}
})
}

, как вы видите вфункция сохранения Я вызываю функцию eventDates после сохранения данных

EventDates(); 
$("#datepicker").datepicker("refresh");

1 Ответ

0 голосов
/ 25 марта 2019

Я нашел решение для двух проблем

Я поместил DatePicker в вызов Ajax, для второй проблемы я уничтожил DatePicker, а затем повторно инициализировал его

  $("#datepicker").datepicker("destroy"); 
   EventDates();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...