禁用FullCalendar调用Ajax

禁用FullCalendar调用Ajax,fullcalendar,Fullcalendar,我又来了。 我使用FullCalendar,我使用属性“events”来获取值​​并显示给用户 想知道在触发此事件之前是否有某种形式的更改,在返回Ajax请求之前是否禁用FullCalendar 这是代码: $('#calendar').fullCalendar({ header: { left: 'prev,next today', center: 'title', right: 'agendaWeek,agendaDay' },

我又来了。 我使用FullCalendar,我使用属性“events”来获取值​​并显示给用户

想知道在触发此事件之前是否有某种形式的更改,在返回Ajax请求之前是否禁用FullCalendar

这是代码:

$('#calendar').fullCalendar({
    header: {
        left: 'prev,next today',
        center: 'title',
        right: 'agendaWeek,agendaDay'
    },
    defaultView: 'agendaDay',
    editable: true,
    allDaySlot: false,
    selectable: true,
    slotMinutes: 10,
    firstHour: 7,
    minTime: '7:00am',
    slotEventOverlap: false,
    events: '/Agenda/GetDiaryEvents/',
    eventClick: function (calEvent, jsEvent, view) {
        alert('You clicked on event id: ' + calEvent.id
            + "\nSpecial ID: " + calEvent.someKey
            + "\nAnd the title is: " + calEvent.title
            + "\nMédico: " + calEvent.Medico);
    }
});

tks

我认为没有一种方法可以完全禁用日历。但是,如果您只是试图限制用户与日历的任何交互,则可以在ajax调用之前将可编辑的可拖放的可选择的属性设置为false,然后在成功/完成ajax回调中将它们切换回。这将防止用户在这段时间内操纵日历上的任何内容。…

我找到的解决方案就是这个,并在下面开发。 在调用Ajax事件之前,创建一个没有任何按钮的对话框JQuery,一切正常后,它会自动关闭

我想实现,如果它去显示另一个错误消息,但因为有,是很容易做到的

<script>

    $(document).ready(function () {
        $("#loading").dialog({
            modal: true,
            autoOpen: false,
            closeOnEscape: false            
        });



        var date = new Date();
        var d = date.getDate();
        var m = date.getMonth();
        var y = date.getFullYear();

        $('#calendar').fullCalendar({
            header: {
                left: 'prev,next today',
                center: 'title',
                right: 'agendaWeek,agendaDay'
            },
            defaultView: 'agendaDay',
            editable: true,
            allDaySlot: false,
            selectable: true,
            slotMinutes: 30,
            firstHour: 7,
            minTime: '7:00am',
            slotEventOverlap: false,
            /*events: '/Agenda/GetDiaryEvents/',*/
            events: {
                    url: '/Agenda/GetDiaryEvents/',
                    type: 'GET',
                    data: {
                        custom_param1: 'something',
                        custom_param2: 'somethingelse'
                    },
                    beforeSend: function() {                        
                         $("#loading").parent().children().children('.ui-dialog-titlebar-close').hide();
                         $("#loading").dialog('open');
                    },
                    success: function () {

                    },
                    error: function() {
                        alert('there was an error while fetching events!');
                    },
                    complete: function () {                        
                       $("#loading").dialog('close');
                    },
                },
            eventClick: function (calEvent, jsEvent, view) {
                alert('You clicked on event id: ' + calEvent.id
                    + "\nSpecial ID: " + calEvent.someKey
                    + "\nAnd the title is: " + calEvent.title
                    + "\nMédico: " + calEvent.Medico);
            }
        });

        $('#datepicker').datepicker({
            inline: true,
            onSelect: function (dateText, inst) {
                var d = new Date(dateText.substr(3, 2) + "/" + dateText.substr(0, 2) + "/" + dateText.substr(6, 4));
                $('#calendar').fullCalendar('gotoDate', d);
            },
            dateFormat: 'dd/mm/yy',
            dayNames: ['Domingo', 'Segunda', 'Terça', 'Quarta', 'Quinta', 'Sexta', 'Sábado'],
            dayNamesMin: ['D', 'S', 'T', 'Q', 'Q', 'S', 'S', 'D'],
            dayNamesShort: ['Dom', 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sáb', 'Dom'],
            monthNames: ['Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro'],
            monthNamesShort: ['Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun', 'Jul', 'Ago', 'Set', 'Out', 'Nov', 'Dez'],
            nextText: 'Próximo',
            prevText: 'Anterior'
        });

        $('.fc-button-prev').click(function () {
            alert('prev is clicked, do something');
            var view = $('#calendar').fullCalendar('getView');
            alert("The view's title is " + view.title);
            alert("start: " + view.start);
            alert("start: " + view.end);

        });

        $('.fc-button-next').click(function () {
            alert('nextis clicked, do something');
        });



    });

</script>
<div class="linha">
    <div id="datepicker"></div>
</div>

<div class="linha">
    <div id='calendar'></div>
</div>
<br />
<br />
<br />
<br />


<div id="loading" title="Processando...">
  <p>Aguarde buscando dados...</p><br /><br />
  <img src="@Url.Content("~/Content/images/icon_48x48_ajax.png")" title="Carregando" />
  <br /><br />
</div>

$(文档).ready(函数(){
$(“#加载”)。对话框({
莫代尔:是的,
自动打开:错误,
closeOnEscape:错误
});
变量日期=新日期();
var d=date.getDate();
var m=date.getMonth();
var y=date.getFullYear();
$(“#日历”).fullCalendar({
标题:{
左:“上一个,下一个今天”,
中心:'标题',
右图:“agendaWeek,agendaDay”
},
defaultView:'agendaDay',
是的,
全天时段:错,
是的,
慢分钟:30,
第一小时:7,
minTime:'7:00am',
slotEventOverlap:错误,
/*事件:'/Agenda/GetDiaryEvents/'*/
活动:{
url:“/Agenda/GetDiaryEvents/”,
键入:“GET”,
数据:{
自定义参数1:“某物”,
自定义参数2:“某物”
},
beforeSend:function(){
$(“#加载”).parent().children().children(“.ui对话框标题栏关闭”).hide();
$(“#加载”)。对话框(“打开”);
},
成功:函数(){
},
错误:函数(){
警报('获取事件时出错!');
},
完成:函数(){
$(“#加载”)。对话框(“关闭”);
},
},
eventClick:函数(calEvent、jsEvent、view){
警报('您单击了事件id:'+calEvent.id
+“\n特殊ID:”+calEvent.someKey
+“\n标题为:”+calEvent.title
+“\nMédico:”+calEvent.Medico);
}
});
$(“#日期选择器”)。日期选择器({
是的,
onSelect:函数(日期文本,inst){
var d=新日期(dateText.substr(3,2)+“/”+dateText.substr(0,2)+“/”+dateText.substr(6,4));
$(“#日历”).fullCalendar('gotoDate',d);
},
日期格式:“日/月/年”,
日名:['Domingo','Segunda','Terça','Quarta','Quinta','Sexta','Sábado'],
dayNamesMin:['D','S','T','Q','Q','S','S','D'],
dayNamesShort:['Dom','Seg','Ter','Qua','Qui','Sex','Sáb','Dom'],
月名:[‘里约热内卢’、‘费弗雷罗’、‘马罗’、‘阿布里尔’、‘马约’、‘朱诺’、‘朱诺’、‘阿戈斯托’、‘塞滕布罗’、‘奥图布罗’、‘诺文布罗’、‘德森布罗’],
monthNamesShort:['Jan','Fev','Mar','Abr','Mai','Jun','Jul','Ago','Set','Out','Nov','Dez'],
下一篇:“普罗西莫”,
前文字:“前”
});
$('.fc button prev')。单击(函数(){
警报(“单击上一步,执行操作”);
变量视图=$(“#日历”).fullCalendar('getView');
警报(“视图的标题为“+视图.标题”);
警报(“开始:+查看.开始”);
警报(“开始:+查看.结束”);
});
$(“.fc按钮下一步”)。单击(函数(){
警报(“单击nextis,执行操作”);
});
});




阿瓜德·布斯卡多护墙板…






实际上我正在尝试使用JQuery模式显示。。。但是我不知道我用什么来调用模态,我用它来关闭模态。。。