我正在使用jQuery UI的datepicker在我的网站上进行日期选择。我的一位用户刚刚升级到Chrome的最新版本,该版本内置了HTML5的原生日期选择器。两个UI相互重叠的大问题。另一个问题是当用户提交日期时,数据库中的日期将恢复为" 0000-00-00"并且正在产生不良数据。
如果删除jQuery日期选择器,大多数不使用最新浏览器的用户将没有弹出日期选择器。并且,拥有最新浏览器的用户将有两个重叠的日历,这会破坏应用程序。我的问题是如何禁用最新的浏览器显示内置日期函数并继续使用jQuery Datepicker?
答案 0 :(得分:38)
使用Modernizr或类似的库来检测浏览器是否支持input type=date
,然后加载jQuery UI datepicker,如果不支持的话。
if (!Modernizr.inputtypes.date) {
$('input[type=date]').datepicker();
}
答案 1 :(得分:1)
从使用input[type=date]
切换到input[type=text]
或使用Modernizr检测对本机日期选择器的支持。我在这里写了一篇关于这两个选项含义的帖子 - http://tjvantoll.com/2012/06/30/creating-a-native-html5-datepicker-with-a-fallback-to-jquery-ui/。
答案 2 :(得分:0)
有时您无法修改表单类型。例如,我正在使用Symfony2 Bundle的FormType。
我使用Genemu jQuery Datepicker遇到了这个问题,我解决了这个问题,添加了一个日历图像按钮和一小撮css代码。
You can see final result in this link
您可以在此处阅读添加图片图标的文档:jQuery UI Datepicker
然后,我简单地添加了这样的CSS(也许样式规则对你来说不同):
form input[type=date] + img {
position: relative;
left: -25px;
}