gpt4 book ai didi

javascript - 解析日期选择器以显示事件日期

转载 作者:行者123 更新时间:2023-12-03 10:17:48 26 4
gpt4 key购买 nike

好吧,我想要实现的是将日期数量解析到日期选择器中,然后显示它。简单的 。我可以在 chrome 中执行此操作,但在 firefox 中我遇到了一些问题。 日期来自 ajax,如下所示。

     var eventDates ={};
//lets take some demo entry
var dates = [{datename:'2015-04-15 10:39:57'},{datename:'2015-04-18 10:39:57'}]

jQuery.each(dates ,function(key,val){
eventDates[new Date(moment(val.datename).format('MM-DD-YYYY'))] = new Date(moment(val.datename).format('MM-DD-YYYY'));
})
console.log(eventDates);
jQuery('#calendar').datepicker({
beforeShowDay: function(date) {
var highlight = eventDates[date];
console.log(highlight);
if (highlight) {
return [true, "event", highlight];
} else {
return [true, '', ''];
}
},
onSelect: function(dateText, inst) {
location.href = '/schedule';
}

});

所以上面的解决方案非常适合 Chrome,但当涉及到 Firefox 时,会抛出未定义日期错误。

我尝试了一些方法来解析 firefox 的日期,这在 chrome 中效果很好。

//method 1
eventDates[Date.parse(moment(val.date).format('MM-DD-YYYY'))] = Date.parse(moment(val.date).format('MM-DD-YYYY'));

//method 2
eventDates[moment(val.date)] =moment(val.date);

第二种方法的日期适用于 Firefox,但不会显示在日期选择器中。但它适用于 Chrome 。呃。任何有关 Firefox 的建议。

有什么帮助吗?如果我迷路了请告诉我。

更新

因此,日期选择器有自己的解析日期的方法。我在上面的示例中显示了一些奇怪的对象字符串,但是从中可以使用 datepicker 解析方法。

最佳答案

您正在创建一个以日期对象作为键和值的对象,这是一个非常奇怪的对象,但理论上这种方式比较日期对象应该有效,因为对它们调用 toValue ,但它仍然是一个有点奇怪。

此外,jQuery 的日期选择器有一个内置的方法来解析日期,其功能与 Moment 基本相同。

重写后它看起来像这样

var dates = [{
'date': '2015-04-15 10:39:57'
}, {
'date': '2015-04-18 10:39:57'
}]

var eventDates = jQuery.map(dates, function (val) {
return $.datepicker.parseDate('yy-mm-dd', val.date.split(' ').shift()).getTime();
});

jQuery('#calendar').datepicker({
beforeShowDay: function (date) {
return eventDates.indexOf(date.getTime()) != -1 ? [true, "event", date] : [true, '', '']
},
onSelect: function (dateText, inst) {
location.href = '/schedule';
}
});

FIDDLE

关于javascript - 解析日期选择器以显示事件日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29782991/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com