Каким образом можно перезагружать js (jquery) во views с ajax? {РЕШЕНО}

Главные вкладки

Аватар пользователя каранёвы каранёвы 6 февраля 2012 в 15:25

Здравствуйте!
У меня возникает уже который раз подобная проблема и вот я решил спросить у сообщества о возможности её решения.

Дело в том, что зачастую views работает с ajax для удобства и если у вас используется какой-нибудь jquery скрипт (который добавляется, к примеру, через drupal_add_js через template.php), то при обновлении информации посредством ajax скрипт просто не обновляется.

Каким образом можно перезагружать js после сабмита с ajax?

Комментарии

Аватар пользователя каранёвы каранёвы 3 марта 2012 в 14:09

Извиняюсь, но не могли бы вы подсказать более подробно. Уже которую неделю пытаюсь сделать и за недостатком знаний не выходит, информация в интернете тоже не помогает особо((
Написал такой код.. хотя вряд ли, конечно, он сработает. Добавіл в .js и подключил к теме. Но фаербаг пишет, что Drupal.Behaviors is undefined

Drupal.Behaviors.reload = function(context) {
jQuery(".form-submit").submit(function() {
  jQuery("table").stickyTableHeaders();
});
}

Пожалуйста, подскажите что я делаю не так..

Аватар пользователя каранёвы каранёвы 3 марта 2012 в 14:48

Разобрался, надо делать так и скрипт будет срабатывать, когда надо:

(function ($) {
  Drupal.behaviors.tableStickHeaders = {
    attach: function(context, settings) {
      $("table").stickyTableHeaders();
    }
  };
})(jQuery);
Аватар пользователя каранёвы каранёвы 21 марта 2012 в 21:35

Значит, вы допустили ошибку. Наверняка, тот же фаербаг может на неё указать.
В 6ке отличаются требования к написанию jquery в отличие от 7ки.