首先,抱歉,对于一个有效的例子,我无法得到很多。我的构建目前只在我的本地主机上,它被推送到的开发服务器只是内部网,只有我的办公室可以使用的密码。否则,我会给你一个充实的例子。我很想知道这对其他人来说是不是一个问题。
我遇到的问题是,datepicker没有选择当前日期以外的日期,该日期在框中默认。除了IE8和IE7之外,它在所有浏览器中都运行良好。这些浏览器会很好地打开日期选择器UI,并允许您单击日期。但是,单击日期时保持与当前默认日期相同。用户界面就像它应该关闭一样。
http://www.eyecon.ro/bootstrap-datepicker/< - 我正在使用它作为我的bootstrap datepicker。我正在使用jQuery 1.8.2,这也是它使用的版本。我在所有浏览器上收到控制台错误:
未捕获的TypeError:无法调用undefined的方法'split'(bootstrap-datepicker.js:379)
我一直在乱搞大约45分钟,现在尝试不同的事情让它发挥作用。 有趣的部分:我选择了上面包含的bootstrap datepicker网站并在IE8中查看了它。它也在那里打破了,但错误没有显示出来。我相信错误与此无关,只是一个简单的“引导程序与传统的IE浏览器不兼容”问题。我正在寻找确认,所以我可以让人们知道。
感谢您对此的了解:我已经完成了大量的响应式构建,并且我之前也经常使用jQueryUI datepicker。但是,这个特定的客户端为它请求了Bootstrap和Datepicker插件/主题,我从来没有碰过它们中的任何一个。在过去的6个小时里,我一直在努力让IE8和IE7看起来正常并且反应迅速,所以我的脑袋有点空洞。感谢您的帮助!
其他说明:这不是IE模拟的问题。这在本机IE8和IE7以及模拟的IE8 / IE7中都发生了完全相同的情况。对于那些感兴趣的人,上面包含的错误的代码是:
parseDate: function (date, format) {
var parts = date.split(format.separator),
date = new Date(),
val;
ect...
如果我console.log date.split(format.separator)我收到“1/16/2013”,它也会再次循环到第二天。 Val是一个增量数字,我觉得我不需要解释新的Date()是什么。
答案 0 :(得分:1)
我最终发现,一般来说,内联的boostrap日期选择器不可以与IE8一起使用。我最终卸载了bootstrap datepicker并使用了jQuery UI datepicker。相同的标记,它工作正常。我知道这在技术上并没有回答我的问题 - 只是为那些拼命寻找答案的人添加一些关闭并看到这个问题。
答案 1 :(得分:1)
这是因为“date”obj不是“string”的类型。
此错误发生在以下代码中。
parseDate: function(date, format) {
var parts = date.split(format.separator), // Error occured
...
}
解决方案是强制将日期对象作为字符串。
修订后的代码如下。
parseDate: function(date, format) {
date = date + ""; // Add this line
var parts = date.split(format.separator),
...
}
祝你好运!!