首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据变送器

数据变送器
EN

Stack Overflow用户
提问于 2013-08-13 13:36:40
回答 1查看 1.2K关注 0票数 1

我有一个推特引导模式的数据报警器。为了突出显示某些日期,在“成功”(作为ajax调用的一部分)中生成了数据报警器。

我设法突出显示的日期,我想突出在本月份,这是很好的。

但是,当我切换到前一个或下个月时,我想再次调用ajax并呈现日期以突出显示。下面您可以看到我的代码:

代码语言:javascript
复制
function nonValidated() {           

        var date = new Date();
        date.addDays(-date.getDate() + 1);
        var startDate = [date.getDate().lpad(2), (date.getMonth() + 1).lpad(2), date.getFullYear()].join('/');
        var enddate = new Date();
        enddate.setDate(date.getDaysInMonth());
        var endDate = [enddate.getDate().lpad(2), (enddate.getMonth() + 1).lpad(2), enddate.getFullYear()].join('/');
        var depId = $('#serviceSelector').val();


        $.ajax({
            type: "POST",
            url: "/ServiceManagement/GetUnassignedSlots",
            data: { "from": startDate, "to": endDate, "depId": depId },
            success: function (data) {
                $.datepicker.setDefaults(
                  $.extend(
                    { 'dateFormat': 'dd/mm/yy' },
                    $.datepicker.regional['nl-BE']
                  )
                );
                $("#nonValidatedDatepicker").datepicker(
                    {
                        inline: true,
                        beforeShowDay: function (date) {

                            var theday = date.getDate() + '/' +
                            (date.getMonth() + 1).lpad(2) + '/' +
                            date.getFullYear();
                            return [true, $.inArray(theday, data.result) >= 0 ? "warningDate" : ''];
                        },
                        onSelect: function (dateText, inst) {
                            var dateParts = dateText.split('/');
                            if (dateParts[0][0] == '0') dateParts[0] = dateParts[0][1];
                            if (dateParts[1][0] == '0') dateParts[1] = dateParts[1][1];
                            var newdate = new Date(dateParts[2], dateParts[0]-1, dateParts[1]);

                            var dayOfWeek = newdate.getDay();
                            if (dayOfWeek == 0) dayOfWeek = 7;
                            var weekstart = new Date(newdate.getFullYear(), newdate.getMonth(), newdate.getDate());
                            weekstart.addDays(-dayOfWeek + 1);
                            var weekend = new Date(newdate.getFullYear(), newdate.getMonth(), newdate.getDate());
                            weekend.addDays(7 - dayOfWeek);

                            $('#SelectWeekDate').val([weekstart.getDate().lpad(2), (weekstart.getMonth() + 1).lpad(2), weekstart.getFullYear()].join('/') + ' - ' + [weekend.getDate().lpad(2), (weekend.getMonth() + 1).lpad(2), weekend.getFullYear()].join('/'));
                            $('#modalNonValidated').modal('hide');
                            InitFillPage();
                        },
                        onChangeMonthYear: function (year, month, widget) {


                        }
                    }
                    );

            },
            error: function (data) {
            },
            statusCode: {
                401: function (data) {
                    //ERROR 401: Unauthenticated
                    window.location.href = '/Account/Login?ReturnUrl=' + encodeURIComponent(window.location.pathname);
                }
            }
        });
    }

有谁知道我怎样才能把年复一年和今天结合起来呢?

EN

回答 1

Stack Overflow用户

发布于 2013-08-14 16:41:59

我会将显示datepicker的代码和进行ajax调用以获取datepicker数据(确定要突出显示的日期的数据)的代码拆分为两个不同的函数。您可以从首先显示数据报警器的函数调用ajax函数,然后从onChangeMonthYear函数调用ajax调用函数。另外,确保对获取数据的ajax调用是同步进行的(set异步: false选项),以便在beforeShowDay函数运行之前返回数据。

希望这能帮上忙!

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18210643

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档