我是 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 值并在其他地方使用它
非常感谢您的帮助。谢谢!