2011-04-20 50 views
7

我们刚刚更新到JQuery 1.5.2.min和JQuery-ui-1.8.11.min,并且还使用最新的datepicker.js文件(我说文件,因为我们也使用datepicker的一些本地化版本)。更新到最新的JQuery UI和datepicker导致datepicker总是被看到

我们更新之前,我们用下面的代码初始化和使用的日期选择器设置本地化

$.datepicker.setDefaults($.datepicker.regional['']); 

$('.datepicker').keypress(function() 
{ 
    $(this).datepicker('hide'); 
}); 

$('.datepicker').datepicker(); 
$('.datepicker').datepicker('option', $.datepicker.regional[widgetCulture]); 
$('.datepicker').datepicker('option', 'showAnim', ''); 
$('.datepicker').datepicker('setDate', new Date()); 

由于更新,当您滚动到屏幕底部使用日期选择在那里,你可以在下面的所有控件中查看它。它只是漂浮在那里!一旦你点击了与日期选择器关联的字段,它就会显示在应该显示的位置,然后再次出现在屏幕底部,直到刷新页面。当我注释掉除.datepicker()行以外的所有内容时,我所看到的只是一个灰色条,而不是整个日历,这有点​​更好,我想(不是真的),但仍需要修复。上述代码的任何其他行都会显示整个日历。这是非常令人沮丧的!

有人可以请说一说吗?

+2

你更新了你的jQuery UI的CSS? – Patricia 2011-04-20 20:18:17

+0

我在1.8.10和1.8.13中都看到了这种行为(我已经在两种情况下都证实了我正在使用匹配的JS/CSS文件)。Bob PS我认为现在jQuery UI中存在一些问题,因为各种各样的东西UI亮度主题与自定义下载和主题库中的平滑度相同(如果双击左侧的正确UI UI亮度预览,则Smoothness出现在右侧);还有很多其他的主题在下面显示空白的'框架图标'。有人打破了jQuery UI?:-D – Bob 2011-06-03 16:16:25

回答

5

我已经有一段时间这个相同的错误,只是今天晚上看到它。我不知道为什么会出现这个错误,但以下是我所做的消除屏幕上的视觉工件的方法。您创建日期选择器(一个或多个)之后,执行以下命令:

$('#ui-datepicker-div').css('display','none'); 

警告:当我看到Safari所产生的DOM并通过创建日期选择器中执行代码,上面的代码似乎什么也不做dom,但它确实隐藏了屏幕上的视觉效果。

+0

扩大你的答案'$('#ui-datepicker-div')。hide();' – PseudoNinja 2016-03-02 16:43:41

4

我更喜欢用CSS解决这个问题:

#ui-datepicker-div { 
    display: none; 
} 
1

它发生在我身上还有,我有jQuery和基思 - 伍德日期选择器(http://keith-wood.name/datepick.html)在相同的HTML库。我尝试使用上面提到的#ui-datepicker-div {display: none;},但它解决了问题,但它使Keith-Wood日期选取器也消失。

我使用的是jquery 1.8.2,jquery-ui.js(1.10.2),甚至主题也是1.10.2。所以我将jquery-ui和主题改回到与jquery.js相同版本的1.8.2。它解决了这个问题,灰色的线条不再出现。我认为更好的解决方案是对所有jQuery库使用相同的版本

+0

我有同样的问题,如果你已经找到了一个解决方案,而不是降级jQuery,那么请帮助我。这里是我的问题的链接http://stackoverflow.com/q/25435290/2666522 – dishwasherWithProgrammingSkill 2014-08-21 20:34:15