jQuery IE7 Модальная странность - PullRequest
0 голосов
/ 05 октября 2011

У меня есть 2 модальных окна, которые вызываются нажатием кнопки.Они отлично работают во всех браузерах, кроме IE7 (ниже не тестировались)

Я смог продемонстрировать только основные функции в демоверсии, но здесь все в порядке.Первый модальный диалог работает нормально, если вы нажмете «загрузка данных с сервера», он должен закрыться.Второй модал вообще не работает.В демоверсии ничего не происходит, когда вы нажимаете «загрузка данных с сервера».(в моей локальной копии, когда я щелкаю по ней, удаляется модальный фон div, wtf?)

Реальный кривая появляется, когда вы впервые открываете второе окно модального диалога.Тогда оба мода работают нормально.Это действительно до меня (Черт возьми, IE7)

Я использую .live для щелчков строк таблицы в модальном окне.Мне нужно, чтобы все было так, чтобы данные были правильно отправлены в форму.

Скрипка здесь: http://jsfiddle.net/clintongreen/5DJxv/10/

1 Ответ

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

Следующий код не работал в IE7:

$('#find_address_postal').click (function () {
$('.modal_form_postal').dialog('open');
$('table#table-data').attr( 'id', 'table-data_postal' );
$('table#table-data_pobox').attr( 'id', 'table-data_postal' );
$('td.address_street').removeClass("address_street").addClass("address_street_postal");
$('td.address_suburb').removeClass("address_suburb").addClass("address_suburb_postal");
$('td.address_city').removeClass("address_city").addClass("address_city_postal");
$('td.address_code').removeClass("address_code").addClass("address_code_postal");
$('td.address_street_pobox').removeClass("address_street_pobox").addClass("address_street_postal");
$('td.address_suburb_pobox').removeClass("address_suburb_pobox").addClass("address_suburb_postal");
$('td.address_city_pobox').removeClass("address_city_pobox").addClass("address_city_postal");
$('td.address_code_pobox').removeClass("address_city_pobox").addClass("address_code_postal");
$('label#suburb_search').css('display','none');
$('label#street_search').css('display','inline');
$('input#street_description').css('width','330px');
}); //end click handler

$('#find_address').click (function () {
$('.modal_form').dialog('open');
$('table#table-data_postal').attr( 'id', 'table-data' );
$('table#table-data_pobox').attr( 'id', 'table-data' );
$('td.address_street_postal').removeClass("address_street_postal").addClass("address_street");
$('td.address_suburb_postal').removeClass("address_suburb_postal").addClass("address_suburb");
$('td.address_city_postal').removeClass("address_city_postal").addClass("address_city");
$('td.address_code_postal').removeClass("address_city_postal").addClass("address_code");
$('td.address_street_pobox').removeClass("address_street_pobox").addClass("address_street");
$('td.address_suburb_pobox').removeClass("address_suburb_pobox").addClass("address_suburb");
$('td.address_city_pobox').removeClass("address_city_pobox").addClass("address_city");
$('td.address_code_pobox').removeClass("address_city_pobox").addClass("address_code");
$('label#suburb_search').css('display','none');
$('label#street_search').css('display','inline');
$('input#street_description').css('width','330px');
}); //end click handler

Это работало ранее во всех браузерах, но когда мы реализовали DataTables.js, мой код больше не работал, используя только 1 модальный диалог для обеих таблиц.Поэтому я создал 2 модальных диалоговых окна, после чего приведенный выше код конфликтовал только в IE7 (и в пробе 6 тоже).В любом случае, после сильного скрежета зубов я уменьшил код выше, и теперь все работает нормально:)

$('#find_address_postal').click (function () {
$('.modal_form_postal').dialog('open');
}); //end click handler

$('#find_address').click (function () {
$('.modal_form').dialog('open');
}); //end click handler
...