Der*_*air 36 jquery jquery-ui jquery-ui-datepicker
我有一个函数执行查询,以获取基于使用.datepicker()选择的特定日期范围的一些数据.我试图将响应数据中的日期选择器设置回执行查询之前选择的日期范围.
queryDate = '2009-11-01';
$('#datePicker').datepicker('setDate', queryDate);
Run Code Online (Sandbox Code Playgroud)
有一个有趣的结果是将datepicker设置为今天的日期!如果它只是吐出一个错误,我不会感到困惑.为什么将它设置为今天的日期?
如何将形成的日期定义为'yyyy-mm-dd'并将日期选择器设置为它?
我认为最好只将datepicker链接到的文本框设置为'queryDate'.
jur*_*rka 73
当您尝试调用setDate时,您必须提供有效的javascript Date对象.
queryDate = '2009-11-01';
var parsedDate = $.datepicker.parseDate('yy-mm-dd', queryDate);
$('#datePicker').datepicker('setDate', parsedDate);
Run Code Online (Sandbox Code Playgroud)
这将允许您在datepicker中使用不同格式的查询日期和字符串日期表示.创建多语言网站时,此方法非常有用.另一个有用的功能是formatDate,它将javascript日期对象格式化为字符串.
$.datepicker.formatDate( format, date, settings );
Run Code Online (Sandbox Code Playgroud)
CMS*_*CMS 35
您应该解析日期字符串,因为Date
跨浏览器不支持使用带有构造函数的ISO8601日期格式(某些浏览器支持它,因为它将成为EcmaScript 5标准的一部分):
var queryDate = '2009-11-01',
dateParts = queryDate.match(/(\d+)/g)
realDate = new Date(dateParts[0], dateParts[1] - 1, dateParts[2]);
// months are 0-based!
// For >= IE9
var realDate = new Date('2009-11-01');
$('#datePicker').datepicker({ dateFormat: 'yy-mm-dd' }); // format to show
$('#datePicker').datepicker('setDate', realDate);
Run Code Online (Sandbox Code Playgroud)
在这里查看上面的例子.
Mat*_*all 10
正如Scobal的帖子暗示的那样,datepicker正在寻找一个Date对象 - 而不仅仅是一个字符串!因此,要修改示例代码以执行您想要的操作:
var queryDate = new Date('2009/11/01'); // Dashes won't work
$('#datePicker').datepicker('setDate', queryDate);
Run Code Online (Sandbox Code Playgroud)
尝试将其更改为:
queryDate = '2009-11-01';
$('#datePicker').datepicker({defaultDate: new Date (queryDate)});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
134957 次 |
最近记录: |