You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

xdsoft DateTimePicker选中非整点时间时高亮异常求助

解决DateTimePicker非整点时间选中时整点高亮的问题

这个问题是xdsoft DateTimePicker的默认行为导致的——组件会自动高亮选中时间对应的整点,哪怕你选的是该整点内的其他细分时间,这确实容易让用户混淆。下面提供两个可行的解决方案:

方案一:用CSS覆盖默认高亮样式

最直接的方式是通过自定义CSS,只保留你真正选中的时间项的高亮效果,取消默认的整点高亮:

/* 移除非选中状态的整点高亮样式 */
.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_highlighted:not(.xdsoft_current) {
    background-color: transparent;
    color: inherit;
    /* 如果还有其他样式比如边框,也可以在这里重置 */
    border: none;
}

原理说明

组件给高亮的整点元素添加了.xdsoft_highlighted类,而选中的时间项会额外带有.xdsoft_current类。上面的CSS会筛选出不是当前选中项的高亮元素,重置它们的背景色和文字颜色,让它们和普通时间项看起来一致,只保留你选中的时间点的高亮状态。

方案二:通过组件事件手动清除多余高亮

如果CSS方案不生效(比如组件版本不同类名有变化),可以利用组件的onSelect事件,在选中时间后手动移除无关的高亮标记:

$('#DateOfAppointment').datetimepicker({
    format: 'd/m/Y H:i',
    minDate: 0,
    inline: true,
    allowTimes: ['9:00', '9:30', '15:00', '17:00', '17:05', '17:20', '19:00', '20:00'],
    onSelect: function(dateText, inst) {
        // 清除所有非选中项的高亮类
        $('.xdsoft_highlighted').not('.xdsoft_current').removeClass('xdsoft_highlighted');
    }
});

原理说明

每次选中时间后,这个回调会触发,找到所有带有.xdsoft_highlighted类但不是当前选中项的元素,移除它们的高亮类,确保只有你选中的时间点保持高亮。

注意事项

如果你的组件版本和默认类名不同,可以通过浏览器开发者工具(F12)查看时间选择器元素的类名,调整CSS或JS中的选择器,确保能精准定位到目标元素。

内容的提问来源于stack exchange,提问作者Chloe Finn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 08:22:41