Программно выбрать элементы фильтра mfilter2

Всем привет!
Подскажите, пожалуйста. Реализую декоративные кнопки, которые при нажатии выбирают определенные параметры в фильтре mFilter2.
Использую конструкции типа
$(selector_of_filter_element).trigger('click');
а также
$(selector_of_filter_element).prop('checked',true).change();
В итоге выбор элементов происходит (нужные чекбоксы отмечаются), но реальной фильтрации не происходит. Хотя если после срабатывания логики выбора вручную нажать Применить в блоке с фильтром — вижу нужные результаты. Пробовал после выбора чекбоксов программно сабмитить форму — ничего не происходит и ошибок в консоли нет.
Подскажите, пожалуйста, что мог не учесть
Фильтр
[[!mFilter2?
                &parents=`8`
                &limit=`10`
                &includeTVs=`product.desc,product_cabinet,product_equipment_type`
                &processTVs=`1`
                &element=`msProducts`
                &class=`msProduct`
                &filters=`
                    tv|product_cabinet,
                    tv|product_equipment_type`
                &tpl=`tpl.category.item`
                &sort=`
                	ms_product|createdon:asc
                	,ms|price:asc`
                &ajaxMode=`button`
                &tplOuter=`tpl.mFilter2.outer.category`
        		&tplFilter.outer.tv|product_cabinet=`tpl.mFilter2.filter.outer.checklist`
        		&tplFilter.row.tv|product_cabinet=`tpl.mFilter2.filter.checkbox.item`
        		&tplFilter.outer.tv|product_equipment_type=`tpl.mFilter2.filter.outer.checklist`
        		&tplFilter.row.tv|product_equipment_type=`tpl.mFilter2.filter.checkbox.item`
                ]]
tpl.mFilter2.outer.category
<div class="filter__title">
    <span>выберите категорию</span>
    <svg class="svg svg-filter">
      <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#filter"></use>
    </svg>
</div>
<div class="filter__cabinets">
  [[pdoResources?
  &parents=`40`
  &resources=`[[getCategories? &id=`[[*id]]`]]`
  &tpl=`tpl.fiter.cabinets`
  &includeTVs=`img,img_alt`
  ]]
</div>
<div class="row msearch2" id="mse2_mfilter">
		<form action="[[~[[*id]]]]" method="post" id="mse2_filters">
		    <div class="filter filter--category">
		        <!--Тут был блок с выбором кабинетов-->
                <div class="filter__form">
                    <div class="filter__close">
                          <svg class="svg" viewbox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
                            <path d="M9.23077 9.23077H2.01172e-08V10.7692H9.23077V20H10.7692V10.7692H20V9.23077H10.7692V2.01172e-08H9.23077V9.23077Z" transform="translate(8.14209 -6) rotate(45)"></path>
                          </svg>
                    </div>
                    
                    <ul class="filter__sort">
                         [[!+filters]]
                          <li>
                            <div class="filter__drop">
                              <input class="btn btn--full-blue" type="submit" value="показать результат">
                              <div class="sort__info">Найдено <span class="mse2_total">[[!+total:default=`0`]]</span> позиций
                              </div>
                            </div>
                          </li>
                    </ul>
                </div>
		        </div>
		</form>
		<div class="sort-box">
          <div class="sort__info">Показано <span class="mse2_now">[[!+limit]]</span> позиций (из <span class="mse2_total" id="mse2_total">[[!+total:default=`0`]]</span> )
          </div>
          <ul class="filter__sort" id="mse2_sort">
            <li><span>сортировка:</span></li>
            <li>
              <a href="#" class="filter__button" data-sort="ms|price" data-dir="[[+mse2_sort:is=`ms|price:desc`:then=`desc`]]"  data-default="asc" class="sort filter__button">по цене
                <svg class="svg svg-arrow-right">
                  <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#arrow-right"></use>
                </svg>
              </a>
            </li>
            <li>
              <a href="#" class="filter__button" data-sort="ms_product|createdon" data-dir="[[+mse2_sort:is=`ms_product|createdon:desc`:then=`desc`]]" data-default="asc" class="sort filter__button">по новизне
                <svg class="svg svg-arrow-right">
                  <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#arrow-right"></use>
                </svg>
              </a>
            </li>
          </ul>
        </div>
	<div class="card-list--horizontal" id="mse2_results">
		[[!+results]]
	</div>

	<div class="mse2_pagination">
		[[!+page.nav]]
	</div>
</div>
Код, принудительно выбирающий элементы фильтра
$('input[name=cabinets]').change(function(){//те самые декоративные кнопки
            var $this =$(this);
            if($this.prop("checked") === true) {
                var cabinetId = $this.val();
                $('input[name="tv|product_cabinet"]').prop('checked',false).change();
                $('input[name="tv|product_cabinet"]').each(function() {
                    if($(this).val() == cabinetId){
                    	$(this).trigger('click');
                    	$('#mse2_filters').submit();
                    }
                });
            }
        });
Ilya Gureshidze
20 августа 2018, 02:39
modx.pro
1 024
0

Комментарии: 1

Айдар
30 ноября 2018, 10:17
0
Решили проблему?
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    1