Exebeche
@Exebeche
Осваиваю программирование

Почему при нажатии чекбоксы сбрасываются?

Нужно на сайте красиво оформить фильтрацию.
Фильтрация сама работает, но.. только в рамках родных тегов 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>


Или хотябы как при таком раскладе можно выделить родительские категории отдельным классом?
  • Вопрос задан
  • 99 просмотров
Пригласить эксперта
Ответы на вопрос 1
OKyJIucT
@OKyJIucT
Sunshine reggae
Потому что данные обновляются через PJAX, и в модель, которая его наполняет, вы состояние чекбоксов не передаете, потому они сбрасываются.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы