回弹后JQuery Datepicker ASP.NET IE7显示问题

时间:2011-10-17 13:07:14

标签: jquery asp.net internet-explorer-7 datepicker

我有一个ASP.Net 4.0网络应用程序,上面有几个JQuery Datepickers。当页面首次加载时,以及与其关联的文本框可见时,日期选取器工作正常。 (见附页截图) 但是,当首次加载页面时,文本框不可见时会出现问题。发生回发并且在回发后文本框可见时,datepicker会按预期显示。然而,CSS全部搞砸了。 (参见附件截图)这仅适用于IE 7 - IE8和IE9工作正常。

以下是初始化datepicker的代码:

function pageLoad() {
            $('#<%= dtPolExpDate.ClientID %>').unbind();
             $('#<%= dtPolExpDate.ClientID %>').datepicker({
               buttonImage: '../../Common/images/calendar.gif', 
               buttonImageOnly: true, 
               showOn: 'both', 
               changeMonth: true, 
               changeYear: true, 
               showButtonPanel: true, 
               closeText: 'Close' 
             });

当我查看源代码时,CSS文件已正确加载,JQuery的javascript文件也是如此。

我认为这与主页有关,所以我创建了一个非常简单的aspx页面 - 它也有同样的问题。单击按钮以显示带有datepicker关联文本框的面板后,日期选择器会搞砸。所有页面都是一个嵌套面板,最上面的面板有一个简单的按钮,单击该按钮时显示带有日期选择器的下面板。我不能在这里附上那个aspx文件,但是如果需要的话我可以截取代码的屏幕截图并将其上传到这里。

修改:附加的是related images

  1. 测试代码
  2. 回发前的日期选择器(在按钮点击之前已经可见)
  3. 回发后的日期选择器(按钮点击后变为可见的不同日期选择器)

    请帮忙!

1 个答案:

答案 0 :(得分:-1)

什么是pageLoad()

无论如何,请使用$(document).ready(),例如

$(document).ready(function(){
    $('#<%= dtPolExpDate.ClientID %>').unbind();
    $('#<%= dtPolExpDate.ClientID %>').datepicker({
        buttonImage: '../../Common/images/calendar.gif', 
        buttonImageOnly: true, 
        showOn: 'both', 
        changeMonth: true, 
        changeYear: true, 
        showButtonPanel: true, 
        closeText: 'Close' 
    });
});