当dateFormat在beforeShowDay函数中时,我遇到了一个问题。
我使用的是https://api.jqueryui.com/datepicker/的datapicker jQuery DataPicker。
我想让它检查日期并改变颜色。我设置了dataPicker dataFormat,但不工作。什么时候是mm-dd-yy,那么它就可以工作了,但我希望它在设置为yy-mm-dd时也能工作。我怎么才能修复它呢?这是我的脚本:
<style>
.event a {
background-color: lightgreen !important;
color: #ffffff !important;
}
</style>
<script>
$( function() {
var eventDates = {};
eventDates[ new Date( '2020-11-09' )] = new Date( '2020-11-09' ); //this not working
eventDates[ new Date( '2020-11-10' )] = new Date( '2020-11-10' ); //this not working
eventDates[ new Date( '11-09-2020' )] = new Date( '11/09/2020' ); //this working
eventDates[ new Date( '11-10-2020' )] = new Date( '11/10/2020' ); //this working
$( "#datepicker" ).datepicker({
dateFormat: 'yy-mm-dd',
altField: "#alternate",
altFormat: "yy-mm-dd",
beforeShowDay: function( date ) {
var highlight = eventDates[date];
if( highlight) {
return [true, "event", 'Text'];
}
else {
return [true, '', ''];
}
}
});
} );
</script>发布于 2020-11-09 04:59:45
尝试使用此格式:yyyy-mm-dd
发布于 2020-11-09 05:15:49
考虑下面的例子。
$(function() {
var eDates = [];
var dF = 'yy-mm-dd';
eDates.push('2020-11-09');
eDates.push('2020-11-10');
$("#datepicker").datepicker({
dateFormat: dF,
beforeShowDay: function(date) {
var fDate = $.datepicker.formatDate(dF, date);
var result = [
true,
"",
""
];
if (eDates.indexOf(fDate) >= 0) {
result[1] = "event";
result[2] = "Event Text";
}
return result;
}
});
});.ui-datepicker-calendar td.event a {
background-color: lightgreen;
color: #ffffff;
}<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>
<input type="text" id="datepicker" />
可以使用$.datepicker.formatDate( format, date, options )将date对象格式化为字符串。这可以使它更容易比较。
更多信息,请访问:https://api.jqueryui.com/datepicker/
https://stackoverflow.com/questions/64742793
复制相似问题