Функция jQuery .html () не отображает возвращаемое значение ajax в Internet Explorer - PullRequest
0 голосов
/ 11 ноября 2010

У меня есть функция jQuery, которую я вызываю по событию click.Фрагмент кода ниже

$.ajax({
  url: '/delivery_windows/' + current_month + '/' + selected_day,
  success: function(data) {
    $('#time-selection').html(data);
  }
});

Над этим фрагментом в реальном файле устанавливаются current_month и selected_day.Я добавил функцию оповещения (данных) в функцию успеха, и соответствующий HTML-код отображается в окне оповещения, но элемент выбора времени отображается на веб-странице совершенно пустым.

Я тестировал в Firefox, Chrome, Сафари и опера.Все это работает, как и ожидалось.IE 7 и IE 8 - единственные, которые возвращают пустой элемент выбора времени.

Я читал другие посты, чтобы попытаться вызвать .empty () при выборе времени, а затем вызвать .append () вместоиспользуя .html (), но я получаю те же результаты.

Кто-нибудь имеет представление о том, что я делаю с этим не так?

Любая помощь будет принята с благодарностью!

Я создаю это в Drupal на случай, если что-то изменится, с помощью jQuery 1.3.2

Заранее спасибо !!

Ответы [ 2 ]

3 голосов
/ 21 сентября 2012

У меня была эта ТОЧНАЯ та же проблема, за исключением всех различий:)

Мой сервисный вызов возвратил строку HTML с несколькими элементами <tr>, и я вставил ее в элемент <table> вУспешный обратный вызов $.get().

В IE7 необходимо добавить теги <tbody>, чтобы окружить вставленные строки таблицы, иначе это не будет работать.IE7 обычно вставляет теги <tbody> для вас при загрузке страницы, но если вы вставляете разметку с помощью java-script или API-интерфейса java-script (такого как jQuery), это не делает ничего подобного.Так что вы должны сделать это сами.

1 голос
/ 20 января 2012

Преобразование возвращенных данных в строку должно решить эту проблему. Попробуйте следующее:

$.ajax({
  url: '/delivery_windows/' + current_month + '/' + selected_day,
  success: function(data) {
    $('#time-selection').html(String(data));
  }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...