0

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

var startDate;

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

console.log(startDate);

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

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

想法?

4

2 回答 2

1

datepicker 的值是在选择日期时设置的。选择onSelect日期时调用回调。在您的代码中,您在选择日期之前打印,因此您不会看到任何打印的值。如果您想获取并使用您需要在onSelect回调函数中执行此操作的值。 http://api.jqueryui.com/datepicker/#option-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

来自小提琴的 HTML

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

来自小提琴的js

var startDate;

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

console.log(startDate);

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

http://jsfiddle.net/6rkFH/

于 2013-11-14T15:35:55.593 回答
0

也许只是语法问题,这里是一个简单的例子:http: //jsfiddle.net/RZxmP/11/

<div id="datepicker" clss="datepicker startdate"></div>

var startDate;

$(document).ready(function(){
    $( "#datepicker" ).datepicker({
        onSelect : function(){
            startDate = $(this).datepicker('getDate').getDate();  
            console.log(startDate);                                 
        }
    });
});
于 2013-11-14T15:53:45.687 回答