Хочу сделать красивый вид для элементов фильтров - выпадающий список из дивов с чекбоксами...
При выборе чекбокса происходит фильтрацфия, но у чекбокса сбрасывается checked и фильтрация невозможна по нескольким чекбоксам.
Вьюха:
<?php
$this->registerJs(
'$("document").ready(function(){
$(document).on("change", ".status_chk", 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="filter">
<div class="filter-prompt">
<p>
Category
</p>
</div>
<div class="filter-options">
<?php foreach ($categories as $category): ?>
<div class="filter-options_item">
<label for="category_<?= $category['id'] ?>" class="status_chk">
<input id="category_<?= $category['id'] ?>" type="checkbox" name="ProductSearch[category_id][]" value="<?= $category['id'] ?>"> <span class="label-text"><?= $category['title'] ?></span>
</label>
</div>
<?php endforeach; ?>
</div>
</div>
<?php ActiveForm::end();?>
<?= $this->render('_loop', ['dataProvider' => $dataProvider, 'searchModel' => $searchModel]); ?>
<?php Pjax::end(); ?>
</div>
Как такое победить и почему чекбокс теряет свое состояние?
Для мультивыбора должна формироваться ссылка типа
?ProductSearch[category_id]=3&ProductSearch[category_id]=6