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