datepicker不在jquery UI中返回值

时间:2013-11-14 15:26:12

标签: javascript jquery jquery-ui datepicker

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

var startDate;

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

console.log(startDate);

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

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

想法?

2 个答案:

答案 0 :(得分:1)

选择日期时会设置日期选择器的值。选择日期时会调用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/

答案 1 :(得分: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);                                 
        }
    });
});