JQuery Datepicker ASP.NET IE7 проблема с отображением после обратной передачи - PullRequest
0 голосов
/ 17 октября 2011

У меня есть веб-приложение ASP.Net 4.0, в котором есть пара JQuery Datepickers. Средство выбора даты работает нормально, когда страница загружается впервые, и если текстовое поле, связанное с ней, является видимым. (См. Прикрепленный скриншот) Однако проблема возникает, когда текстовое поле не отображается при первой загрузке страницы. Когда происходит обратная передача и текстовое поле отображается после обратной передачи, средство выбора даты отображается, как и должно быть. Однако CSS все испортил. (см. прикрепленный скриншот) Это только для IE 7 - IE8 и IE9 работают нормально.

Вот код для инициализации средства выбора даты:

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 правильно загружены, как и файлы javascript для JQuery.

Я думал, что это что-то с мастер-страницами, поэтому я создал действительно простую страницу aspx - у нее тоже такая же проблема. Как только я нажимаю кнопку, чтобы отобразить панель с текстовым полем, связанным с датчиком, программа выбора даты испортилась. Вся страница имеет вложенную панель с самой верхней панелью, имеющей простую кнопку, которая при нажатии показывает нижнюю панель с датчиком. Я не могу прикрепить этот файл aspx здесь, но при необходимости я могу сделать снимок экрана с кодом и загрузить его здесь.

Редактировать : Прилагаются все похожие изображения :

  1. Тестовый код
  2. Datepicker перед постбэком (который уже виден до нажатия кнопки)
  3. Средство выбора даты после обратной передачи (другое средство выбора даты, которое стало видимым после нажатия кнопки)

    Пожалуйста, помогите!

1 Ответ

0 голосов
/ 17 октября 2011

Что такое 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' 
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...