如何从jQuery UI datepicker获取日期


85

每当用户在jQuery UI datepicker中选择日期并单击表单上的按钮时,我都希望从datepicker获取日期。

好吧,我需要获取他们选择的日期的日期,月份和年份。如何获取日期表格jQuery UI?

Answers:


130

使用

var jsDate = $('#your_datepicker_id').datepicker('getDate');
if (jsDate !== null) { // if any date selected in datepicker
    jsDate instanceof Date; // -> true
    jsDate.getDate();
    jsDate.getMonth();
    jsDate.getFullYear();
}

这是在Date数据类型上运行任何方法的方法吗?我的意思是,getDate,getMonth,getFullYear等。
Ajeeb.KP,

在datepicker上调用getDate之后,您将获得js Date()对象,该对象可用于调用getDate,getMonth,getFullYear等
CoolEsh

如果我们打印jsDate变量,那么它将为我们提供类似2020年8月24日星期一格林尼治标准时间+0530(印度标准时间)的信息,现在我们可以在jsDate上应用getDate,getMonth,getFullYear方法。
Laveena

87

您可以使用getDate函数检索日期:

$("#datepicker").datepicker( 'getDate' );

该值作为JavaScript Date对象返回。

如果要在用户选择日期时使用此值,则可以使用onSelect事件:

$("#datepicker").datepicker({
   onSelect: function(dateText, inst) { 
      var dateAsString = dateText; //the first parameter of this function
      var dateAsObject = $(this).datepicker( 'getDate' ); //the getDate method
   }
});

在这种情况下,第一个参数是选定的日期作为字符串。使用parseDate将其转换为JS Date对象。

有关完整的jQuery UI DatePicker参考,请参见http://docs.jquery.com/UI/Datepicker


最佳解决方案,因为不需要日期对象的全局变量
Rashid

24

试试这个,就像魅力一样,给出您选择的日期。onsubmit表单尝试获取此值:-

var date = $("#scheduleDate").datepicker({ dateFormat: 'dd,MM,yyyy' }).val();

这里参考



1

有时会有很多麻烦。datapicker数据的属性值是2014年6月28日,但显示的是datepicker或今天或什么都不显示。我以这样的方式决定:

<input type="text" class="form-control datepicker" data-value="<?= date('d-m-Y', (!$event->date ? time() : $event->date)) ?>" value="<?= date('d-m-Y', (!$event->date ? time() : $event->date)) ?>" />

我在datapicker属性data-value的输入中添加了内容,因为如果调用jQuery(this).val()jQuery(this).attr('value'),则无效。我决定在周期中初始化每个数据选择器,并从属性data-value中获取其值:

 $("form .datepicker").each(function() {
        var time = jQuery(this).data('value');
        time = time.split('-');
        $(this).datepicker('setDate', new Date(time[2], time[1], time[0], 0, 0, 0));
    });

它很好用=)


仅当您的日期格式为dMY时,此方法才有效。
Mohamed Nuur'1

0

NamingException的答案对我有用。除了我用过

var date = $("#date").dtpicker({ dateFormat: 'dd,MM,yyyy' }).val()

datepicker没有工作,但是dtpicker有。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.