我想从我的 jquery datepicker 实例中完全删除当天的突出显示类。我将内联日期选择器用作 div,因此我发现在类上使用 .find 和 .remove 的所有规定方法均无效。我已尝试删除 .ui-state-highlight 的所有 CSS 条目,但没有任何改善。 jsfiddle对于我的基本代码,我建议在新选项卡中打开它,这样更容易返回到这个问题。这是截图 代码检查,显示我需要删除的类。
代码:
<head><script>
$( function() {
var selections = ["2017-07-29"]
function bansingle(date) {
var excerpt = jQuery.datepicker.formatDate('yy-mm-dd', date);
return [ selections.indexOf(excerpt) == -1 ]
}
// somehow combine this function later.
//function bandow(date) {
// var day = date.getDay();
// return [(day != 0 && day != 6)];
// }
$('#dp1').datepicker({
beforeShowDay: bansingle,
altField:'#alternate1',
altFormat: 'm-d-yy',
fielddateFormat: 'm-d-yy',
minDate: "+0d",
//maxDate: "+1m", // set latest selectable date
});
$('#dp1').datepicker("setDate", null); //clears alternate1 input field value
});</script>
</head>
<body>
<div id="dp1"></div>
</body>
将突出显示编辑成与其他可用日期一样的效果并不好,因为当单击当前日期时,您无法判断它是否已经出现。这就是为什么我需要弄清楚如何在我使用 datepicker 的 div 上完全删除突出显示类。
我的问题不同于this other question因为:虽然与另一篇文章有一些共同点,但我正在尝试实现不同的最终结果,并且那篇文章的建议是设置 CSS 样式以模仿其他单元格,正如我在上面的段落中所述,即不适合我的需要。
编辑:
使用 that other question作为引用,我能够重新排列和更改一些其他 CSS 样式,以便现在所有可用日期看起来都相同,尽管最终结果是不完整的。这让我依赖于让 altfield 可见来向用户显示点击的选择。如果有办法在文件头中使用这种样式:
.ui-state-active {background: #F00;}
改为:
.ui-state-active {background: #F00 !important;}
当日期选择器内联日历 GUI 在任何可用日期首次被点击时,颜色响应将与用户的操作以及将传递到 PHP 的数据相匹配。
最佳答案
你可以像这样使用它的属性:
$('#dp1').datepicker({
beforeShowDay: bansingle,
todayHighlight: false,// make this parameter to false. It will not highlight then.
altField:'#alternate1',
altFormat: 'm-d-yy',
fielddateFormat: 'm-d-yy',
minDate: "+0d",
//maxDate: "+1m", // set latest selectable date
});
关于javascript - jquery datepicker 删除当前日期高亮类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45295454/