繁体   English   中英

如何刷新日历中的事件日期(datepicker)

[英]How to refresh event dates in calendar (datepicker)

其实我有两个问题

1-我试图在日历中突出显示某些日期,但是,页面加载后样式不起作用,除非我点击日历然后它将起作用

2-当我保存一些文本时,我想刷新日历以突出显示这个新的事件日期,如果我只记得函数没有发生任何事情,可能是因为我已经初始化了数据贴纸

对于第一个问题,我在初始化datepicker后尝试添加这些命令 - $('.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");

我找到了两个问题的解决方案

我把datepicker放入ajax调用,第二个问题我销毁了datepicker然后我重新初始化了它

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM