Javascript 日期选择器未在jquery UI中返回值

Javascript 日期选择器未在jquery UI中返回值,javascript,jquery,jquery-ui,datepicker,Javascript,Jquery,Jquery Ui,Datepicker,也许我误解了一些堆栈答案和它们选择的文档,但我在模式中创建了一组日期选择器,在初始化时: var startDate; $(".datepicker .startDate").datepicker({ onSelect : function(){ startDate = $(self).datepicker('getDate'); } }); console.log(startDate); $(".datepicker .endDate").datepick

也许我误解了一些堆栈答案和它们选择的文档,但我在模式中创建了一组日期选择器,在初始化时:

var startDate;

$(".datepicker .startDate").datepicker({
    onSelect : function(){
        startDate = $(self).datepicker('getDate');
    }
});

console.log(startDate);

$(".datepicker .endDate").datepicker();
.datepicker.startDate
应该返回我选择的日期并将其记录到控制台,而不是我什么也得不到-日期选择器工作。但是他们的什么都没有登录到控制台


想法?

日期选择器的值在选择日期时设置。选择日期时会调用选择的
onSelect
回调。在代码中,您在选择日期之前打印,因此不会看到打印的任何值。 如果要获取并使用该值,需要在
onSelect
回调函数中执行该操作。

例如,下面的代码将警告所选值

var startDate;

$(".datepicker .startDate").datepicker({
    onSelect: function (e) {
        alert(e);//the value
        startDate = $(this).datepicker('getDate');
        alert(startDate);//the value
    }
});

console.log(startDate);//this will print nothing
来自fiddle的HTML

<div class="datepicker">
    <input type="text" class="startDate" class="hasDatepicker" />
</div>
var startDate;

$(".datepicker .startDate").datepicker({
    onSelect: function (e) {
        alert(e);
        startDate = $(this).datepicker('getDate');
        alert(startDate);
    }
});

console.log(startDate);

$(".datepicker .endDate").datepicker();

可能只是语法问题,下面是一个简单的示例:


var startDate;
$(文档).ready(函数(){
$(“#日期选择器”)。日期选择器({
onSelect:function(){
startDate=$(this.datepicker('getDate').getDate();
控制台日志(起始日期);
}
});
});

当我打开模式时-我什么也看不到,没有警报,什么都看不到-当我选择一个日期,相同的概念时-它会填充输入元素,但我看不到任何警报或类似的内容。@LogicLooking用一个工作示例更新了答案。如果您仍然无法找出问题所在,那么也可以发布您的html代码。
<div id="datepicker" clss="datepicker startdate"></div>

var startDate;

$(document).ready(function(){
    $( "#datepicker" ).datepicker({
        onSelect : function(){
            startDate = $(this).datepicker('getDate').getDate();  
            console.log(startDate);                                 
        }
    });
});