mFilter2 сброс фильтра с типом radio
Существует два фильтра типа radio button
Категории — msoption|category
Производители — ms|vendor:vendors
После выбора категория 1 и производитель 2 фильтры выглядят так:
Такое возможно реализовать?
Категории — msoption|category
Производители — ms|vendor:vendors
Категории:
- Категория 1
- Категория 2
Производители
- Производитель 1
- Производитель 2
После открытия каталога вывод которого происходит через mFilter2, по умолчанию оба фильтра выключены.После выбора категория 1 и производитель 2 фильтры выглядят так:
Категории:
* Категория 1
- Категория 2
Производители
- Производитель 1
* Производитель 2
Как реализовать кнопку которая бы сбросила выбор производителя, что то типа Все производители, и при этом не затронула выбор категорииТакое возможно реализовать?
Комментарии: 2
можно узнать, как решили вопрос?
могу поделиться решением-костылем ))
пришлось подредактировать вывод чанка для фильтра производителя и добавить пару строк в js обработчик фильтра.
пришлось подредактировать вывод чанка для фильтра производителя и добавить пару строк в js обработчик фильтра.
[[!mFilter2?
......
&filters=`
ms|vendor:vendors
`
&tplFilter.outer.ms|vendor=`tpl.mFilter2.filter.like_ul`
&tplFilter.row.ms|vendor=`tpl.mFilter2.filter.radio2`
........
]]
tpl.mFilter2.filter.like_ul:<fieldset id="mse2_[[+table]][[+delimeter]][[+filter]]">
<h4>[[%mse2_filter_[[+table]]_[[+filter]]]]:</h4>
<ul class="radio-like-ul">
<li><input id="mse2_ms|vendor_all" class="" type="radio" value="0" name="ms|vendor">
<label class="" for="mse2_ms|vendor_all">Все</label></li>
[[+rows]]
</ul>
</fieldset>
tpl.mFilter2.filter.radio2:<li><input type="radio" name="[[+table]][[+delimeter]][[+filter]]" id="mse2_[[+table]][[+delimeter]][[+filter]]_[[+idx]]" value="[[+value]]" [[+checked]] [[+disabled]]/><label for="mse2_[[+table]][[+delimeter]][[+filter]]_[[+idx]]" class="[[+disabled]]">
[[+title]] </label></li>
Часть кода из js обработчика фильтра:........
,getFilters: function() {
var data = {};
$.map(this.filters.serializeArray(), function(n, i) {
if (data[n['name']]) {
data[n['name']] += mse2Config.values_delimeter + n['value'];
}
else {
if (n['name'] == 'ms|vendor') {
if (n['value'] != 0) {
data[n['name']] = n['value'];
}
} else {
data[n['name']] = n['value'];
}
}
});
return data;
}
.........
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.