繁体   English   中英

jQuery UI日期选择器setDate和moment.js

jQuery UI datepicker setDate and moment.js

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

jQueryUI datepicker似乎不能与moment.js很好地配合

我需要将日期选择器预设为持续90天,因此FromDate应该是90天之前,而ToDate是今天。

$('#FromDate').datepicker({
    format: 'dd-M-yyyy',
    todayHighlight: true,
    autoclose: true,
    orientation: 'auto bottom'
});

$('#ToDate').datepicker({
    format: 'dd-M-yyyy',
    todayHighlight: true,
    autoclose: true,
    orientation: 'auto bottom'
});

var todate = new moment();
var fromdate = new moment().subtract(90, "days");
$("#FromDate").datepicker("setDate", fromdate);
$("#ToDate").datepicker("setDate", todate);

这引发一个错误

 JavaScript runtime error: Object doesn't support property or method 'getTime' 

我有什么想念的吗? 看起来是格式问题?

2 个回复

从jQuery UI setDate文档:

设置日期选择器的日期。 新日期可以是Date对象或当前日期格式的字符串(例如"01/26/2009" ),从今天起的几天(例如+7 )或值和句点的字符串( "y"多年来, "m"几个月了, "w"数周, "d"为天,例如, "+1m +7d" ),或null以清除选定的日期。

在您的代码中,您要传递一个矩对象作为setDate参数,因此jQuery datepicker无法对其进行管理。 您可以使用toDate()方法将moment对象转换为原生JavaScript dat。

这是一个现场样本:

 $('#FromDate').datepicker({ format: 'dd-M-yyyy', todayHighlight: true, autoclose: true, orientation: 'auto bottom' }); $('#ToDate').datepicker({ format: 'dd-M-yyyy', todayHighlight: true, autoclose: true, orientation: 'auto bottom' }); var todate = moment(); var fromdate = moment().subtract(90, "days"); $("#FromDate").datepicker("setDate", fromdate.toDate()); $("#ToDate").datepicker("setDate", todate.toDate()); 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.js"></script> <link href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/smoothness/jquery-ui.css" rel="stylesheet"/> <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script> <input type="text" id="FromDate"> <input type="text" id="ToDate"> 

我想你使用的是不同的DatePicker为formattodayHighlightautocloseorientation是不是jQuery UI的DatePicker的选项。

这是一个纯jQuery UI示例:

 $(function() { $('#FromDate').datepicker({ dateFormat: 'dd-M-yy' }); $('#ToDate').datepicker({ dateFormat: 'dd-M-yy' }); $('#FromDate').datepicker("setDate", "-90d"); $('#ToDate').datepicker("setDate", "0"); }); 
 <link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css"> <script src="https://code.jquery.com/jquery-1.12.4.js"></script> <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script> <div> <p>From <input type="text" id="FromDate" /> </p> <p>To <input type="text" id="ToDate" /></p> </div> 

查看更多: jQuery UI API | DatePicker | 设置日期

10 角度日期选择器 setDate

我有一个带有数据选择器的屏幕。 当我已经有一个数据参数时,它会在我的日历中选择 2 个日期:日期参数加上当天的日期。 如果我有一个日期作为参数怎么办,以便它选择我作为日期作为参数而不是当天的日期 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM