В фильтре представления Better Exposed Filters не работают чекбоксы?

Аватар пользователя grudpf grudpf 19 января 2016 в 17:25

Если перестал работать Better Exposed Filters checkboxes фильтр, то можно сделать следующие:
1. Он работает без проблем на jquery 1.7.
2. Если Вы работаете с jQuery Update, то нужно влезть в файл модуля (что плохо, но нужно) - файл better_exposed_filters.js
в нём есть код

 Drupal.behaviors.betterExposedFilters = {
    attach: function(context) {
      // Add highlight class to checked checkboxes for better theming
      $('.bef-tree input[type=checkbox], .bef-checkboxes input[type=checkbox]')
        // Highlight newly selected checkboxes
        .change(function() {
          _bef_highlight(this, context);
        })
        .filter(':checked').closest('.form-item', context).addClass('highlight')
      ;
    }
  };

он не хочет срабатывать, тогда я правлю функцию _bef_highlight на

  /**
   * Adds/Removes the highlight class from the form-item div as appropriate
   */

  function _bef_highlight(elem, context) {
    $elem = $(elem, context);
    $elem.prop("checked") //вместо $elem.attr('checked')
      ? $elem.closest('.form-item', context).addClass('highlight')
      : $elem.closest('.form-item', context).removeClass('highlight');
  }

Где prop() - проверка выбран ли чекбокс. Работают для jquery 1.9, 1.10.
Почему так: я использую модуль требующий jquery 1.9+ и столкнулся с этой проблемой.
Возможно это кому-то поможет! Буду рад!

0 Thanks