2013-11-14 34 views
0

也许我误解了一些堆栈答案和文档他们seleves,但我创建了一个模式一组日期选择器,即在初始化:日期选择器中的jQuery UI没有返回值

var startDate; 

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

console.log(startDate); 

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

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

想法?

回答

1

选择日期时设置日期选择器的值。选择日期时会调用onSelect回调。在您的代码中,您正在打印选择日期,因此您将看不到任何打印的值。 如果您想获得并使用onSelect回拨函数中需要的值。从小提琴

var startDate; 

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

console.log(startDate); 

$(".datepicker .endDate").datepicker(); 
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 210

http://jsfiddle.net/6rkFH/

+0

当我打开模式 - 我看不到任何东西,没有提醒,没有什么 - 当我选择一个日期,相同的概念 - 它填写输入元素,但我没有看到任何警报或类似的东西。 – LogicLooking

+0

@LogicLooking通过一个工作示例更新了答案。如果你仍然无法找出问题,那么也可以发布你的html代码。 – melc

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);         
     } 
    }); 
});