我有两个日期选择器。当它们首次显示在页面上时,范围的最大值和最小值设置为今天,因此无法选择日期。基于下拉选择,两个日历上都设置了有效的日期范围。我希望“今天”是“到”日期选择器中的默认选定日期,在“发件人”日期选择器中,我什么都不想选择。我添加了一些CSS来突出显示“今天”,就好像它是其他选定的日期一样。至此,TO日历中的所有内容均显示良好。但是,在FROM日历中,TODAY显示为好像已被选择,但实际上此时尚未选择日期。问题似乎是,即使将日期选择器的日期设置为“空”,今天的日期仍被标记为ui-datepicker-current-date和ui-datepicker-today。我今天将它标记为ui-datepicker没问题,因为毕竟是今天。由于它也被标记为ui-datepicker-current-date,因此我无法将TO日历中的未选择日期与用户实际选择的日期区分开。

有没有人想出如何使这项工作?添加到用户选择日期和未选择日期的选择器似乎相同。两者都标记为今天和当前日期,并且都具有ui-active。

如果您完全迷路,明天我可以发布确切的代码。它正在工作,目前我正在家里进行研究。在此先感谢您提供的任何帮助!

最佳答案

现在,我已经花了比计划更多的时间,我将分享我的最终解决方案。

对于datePicker将今天标记为当前选定日期这一事实,我仍然不满意,这实际上阻止了您使用没有选定日期的datePicker,但是我仍然必须使其起作用。这是我添加的CSS,您可以将其作为单独的文件添加,也可以根据需要添加,只要它位于jquery主题CSS之后:

.ui-datepicker-current-day .ui-state-active {border: 1px solid #000;background: #bebbbb url(images/ui-bg_glass_65_bebbbb_1x400.png) 50% 50% repeat-x;font-weight: normal;color: #212121;outline: none; }

这基本上会覆盖今天已应用到今天的所有样式,并使它看起来与其他选定日期完全一样。接下来是防止默认日期显示为所选内容的JavaScript:

$("#nameOfDatePickerDiv").find("td.ui-datepicker-current-day").find("a:first-child").removeClass('ui-state-active');

首先,这是在设置有效范围之后以及允许用户自行选择之前完成的。我找到了当前的td,找到了第一个也是唯一的a,并去除了它的活动性。现在,您有一个日历,该日历具有当前日期,今天是默认日期,但不会使用户误以为它已被预先选择。一旦他们自己做出选择,ui-state-active类将被添加到该日期。使用更新的样式并且没有此JS,今天将始终像已被预先选择一样显示。

如果有人找到更好的方法,请随时分享。我在这上面花了太多时间,如果我错过了更明显的事情,也不会感到惊讶。

关于css - jQuery'setDate'= null离开今天作为currentDate,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2473940/

10-12 06:18