0

首先,对不起,我无法为您提供一个可行的示例。我的构建目前只在我的本地主机上,它被推送到的开发服务器只是 Intranet,只有我的办公室可以使用的密码。否则,我会给你们一个工作的例子。我主要只是好奇这是否对其他人来说是个问题。

我遇到了 datepicker 没有选择除当前日期以外的日期的问题,该日期在框中默认。它在除 IE8 和 IE7 之外的所有浏览器中都能正常工作。这些浏览器将很好地打开日期选择器 UI,并允许您单击日期。但是,当您单击时,日期将与您当前的默认日期保持一致。用户界面按原样关闭。

http://www.eyecon.ro/bootstrap-datepicker/ <--我将它用于我的引导日期选择器。我正在使用 jQuery 1.8.2,这也是它正在使用的版本。为此,我在所有浏览器上都收到控制台错误:

未捕获的类型错误:无法调用未定义的方法“拆分”(bootstrap-datepicker.js:379)

我已经搞砸了大约 45 分钟,现在尝试不同的方法让它工作。有趣的部分:我访问了上面包含的 bootstrap datepicker 网站,并在 IE8 中查看了它。它在那里也坏了,但没有显示错误。我相信这个错误与这个不起作用没有任何关系,只是一个简单的“引导程序与旧版 IE 浏览器不兼容”问题。我正在寻找确认,以便让人们知道。

感谢您对此的了解:我已经完成了大量的响应式构建,并且我之前也经常使用 jQueryUI 日期选择器。然而,这个特定的客户端请求了 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 是一个递增的数字,我觉得我不需要解释 new Date() 是什么。


我最终发现,一般来说,内联 boostrap 日期选择器不适用于IE8 及更低版本。我最终卸载了 bootstrap datepicker 并改用了 jQuery UI datepicker。相同的标记,它工作得很好。我知道这在技术上并不能回答我的问题 - 只是为那些拼命寻找答案并看到这个问题的人添加一些关闭。

4

2 回答 2

1

这是因为“日期”obj 不是“字符串”类型。

此错误发生在下面的代码中。

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),
    ...
}

祝你好运!!

于 2014-02-05T08:13:45.003 回答
1

我最终发现,一般来说,内联 boostrap 日期选择器不适用于IE8 及更低版本。我最终卸载了 bootstrap datepicker 并改用了 jQuery UI datepicker。相同的标记,它工作得很好。我知道这在技术上并不能回答我的问题 - 只是为那些拼命寻找答案并看到这个问题的人添加一些关闭。

于 2013-01-25T22:07:37.087 回答