0

我是 JS 新手,最近在使用 Jquery-UI Datepicker 时遇到了 setTimeout 函数的问题。

我想从 setTimeout 函数中引用的函数中获取一个值,并将该值用于我的代码的其他区域。但是,由于 setTimeout 延迟了代码执行,我似乎无法分配和使用上述值。

这是代码的一部分

$calendar.datepicker({
    inline: true,
    onSelect: function (dateText,inst) {
        var startDate;
        window.setTimeout(function(){getStartDate();}, 1);

        // ... Do something with startDate. No matter how I try, startDate is always undefined. 

        function getStartDate () {
            var r = $calendar
                .find('.ui-datepicker-current-day')
                    .parent()
                        .find('.selectable')
                        .first()
                            .children()
                            .text();

            startDate = new Date(date.setDate(r));
            return startDate;

        }
    },
});

我需要使用 setTimeout 函数,否则从 Jquery UI datepicker 返回的值是错误的。

理想情况下,我正在寻找 startDate 是从超时函数中设置的函数 getStartDate() 返回的值。

我写的显然是错误的,我不知道如何从超时函数中返回 startDate 值并在其他地方使用它

非常感谢您的帮助。谢谢!

4

0 回答 0