Нужно на сайте красиво оформить фильтрацию.
Фильтрация сама работает, но.. только в рамках родных тегов ActiveForm
Делаю select или checkboxList - все чудесно работает и мультивыбор и без перезагрузки страницы, только вид у этого всего страшный.
А если делаю верстку выпадающего списка с чекбоксами в дивах, да и просто чекбоксы в ряд - выбор происходит, только по последнему нажатию + чекбокс "сбрсывает" галочку checked
Вьюха:
<?php
$this->registerJs(
'$("document").ready(function(){
$(document).on("change", "label", function(e) {
e.preventDefault();
$("#filter-form").submit();
});
});'
);
?>
<div class="shop-new col-md-12 animated bounceInLeft">
<h1>
New
</h1>
<div class="col-md-12 filters-menu-section">
</div>
<?php Pjax::begin([
'id' => 'productList',
'enablePushState' => false,
'enableReplaceState' => false,
]); ?>
<?php $form = ActiveForm::begin([
'id' => 'filter-form',
'action' => ['new'],
'method' => 'get',
'options' => ['data-pjax' => true],
]); ?>
<div class="new-sortFilter-nav status_chk">
<?php echo $this->render('_search', ['model' => $searchModel]); ?>
</div>
<?php ActiveForm::end(); ?>
<?= $this->render('_loop', ['dataProvider' => $dataProvider, 'searchModel' => $searchModel]); ?>
<?php Pjax::end(); ?>
</div>
_search.php
<div class="product-search">
<?php $form = ActiveForm::begin([
'id' => 'filter-form',
'action' => 'search',
'method' => 'get',
]); ?>
<?= $form->field($model, 'category_id')->checkboxList(Category::find()->select(['title', 'id'])->indexBy('id')->column()) ?>
<?php // echo $form->field($model, 'price') ?>
<?php // echo $form->field($model, 'new') ?>
<?php // echo $form->field($model, 'hit') ?>
<?php // echo $form->field($model, 'sale') ?>
<?php ActiveForm::end(); ?>
</div>
Или хотябы как при таком раскладе можно выделить родительские категории отдельным классом?