在IE8中更改月/年时,JQuery datepicker关闭

时间:2013-02-18 17:16:14

标签: jquery internet-explorer-8

我有一个jQuery日期选择器的问题,它可以在Chrome或IE9中正常工作,但是在IE8中,只要有人点击顶部的月/年更改箭头,或者选择日期,它就会关闭并显示当前所选月份内的随机日期(当前问题是选择第18个,但我看到它也选择其他日期 - 除了实际点击的日期之外)。我们在整个产品中使用jQuery 1.8.0和其他框架(下划线和敲除),但其他框架没有在其他页面上使用

这是一个内部系统,所以它不是在野外,但不幸的是,我们的用户仅限于使用IE8,因为它们在Windows XP上,而我们的网络管理员不允许使用Chrome。因此,虽然我可以调试它并看到它在IE9或Chrome中运行,但这对我们的用户没有帮助。

JS代码:

$(function () {
    $('.date-field').each(function () {
        var $this = $(this);
        if ($this.data('bound'))
            return;
        $this.datepicker({
            format: 'dd-mm-yyyy'
        }).data('bound', true);
    });
});

Html代码:

<input type="text" class="span3 date-field" name="FromDate">

在许多页面中还有其他Javascript,以及相关页面中的其他功能,但是粘贴太多,在这种情况下,调试时没有错误被抛到任何控制台(IE8 / 9或Chrome) javascript - 它只是在点击任何内容并且没有设置值时关闭datepicker。

我有点困惑 - 我已经google了一下,虽然我可以找到其他问题,关闭日期选择器,他们通常在他们周围没有关闭,其中一些看起来似乎在正确的轨道上没有回答。我也尝试将jQuery版本升级到1.9.0,但它没有任何区别 - 问题和行为仍然存在。

我已经设置了一个jsFiddle - http://jsfiddle.net/mCVaY/7/ - 它封装了这个问题,但是 - 令人恼火的是 - jsFiddle似乎不能在IE8下工作......(或者我做错了 - 它是IE8标准/ IE9中的浏览器模式,我必须测试,因为我在Win 7而不是XP ...)

如果我能提供更多信息,请通知我。

1 个答案:

答案 0 :(得分:0)

这取决于datepicker引导程序,它已包含在项目中,我没有注意到,而不是jQuery datepicker。这解释了为什么使用format属性而不是dateFormat来设置显示日期的格式,以及为什么很难找到问题的答案!

他们的论坛上存在与同一问题相关的问题:https://github.com/eternicode/bootstrap-datepicker/issues/144

更新到最新版本修复了此问题。