Я новичок в yii2, поэтому не ругайтесь на мои вопросы.
Не могу разобраться, как правильно сделать следующую вещь:
Управлять количеством полей виджета "Editable" от kartik во view при помощи кнопок "+" , "- " и Pjax.
Появляются сразу два непонятных мне момента:
1. Если я оборачиваю код в Pjax, то роутинг у виджета "Editable" не работает как надо, и вместо POST запроса всегда GET.
Причём, маршрут идёт на этот же action, с которого выводилась страница, а не на тот, который я указал в виджете, чтобы обработать данные.
При этом роутинг кнопок "+" , "- " с Pjax работает как надо, и я могу прибавлять/убавлять виджет на view.
Но тут возникает уже вторая проблема:
2. После отработки Pjax для кнопок(хоть убавил хоть прибавил виджет), поле виджета Editable уже не появляется при клике на него, и я не могу ввести туда текст, плагин как бы замораживается, становится неактивным.
Если я выношу Editable из под Pjax, то роутинг виджета работает как надо(нужный action и метод POST), и я могу вводить и сохранять текст в модель.
Но тогда, очевидно, я не могу динамически изменять кол-во полей Editable во view.
Ниже приведу фрагмент кода view:
Код: Выделить всё
<?php Pjax::begin(['enablePushState' => false, 'clientOptions' => ['method' => 'POST']]); ?>
<?php $form = ActiveForm::begin(['id' => 'online-form',
'options' => [
'class' => 'form-horizontal',
'data-pjax' => true,
],]);
?>
<div class="col-md-2 col-sm-2 col-xs-6 tile_info">
<?= Html::a('', ['site/upvote'], ['class' => 'add-room btn btn-success btn-xs glyphicon glyphicon-plus']) ?>
<?= Html::a('', ['site/downvote'], ['class' => 'add-room btn btn-success btn-xs glyphicon glyphicon-minus']) ?>
</div>
<?php
// for start
for($i = 1; $i <= Yii::$app->session->get('votes',1); $i++){
?>
<div class="col-md-2 col-sm-6 col-xs-6 tile_info">
<?= Editable::widget([
'name' => 'timername',
'asPopover' => true,
'formOptions' => [
'action' => Url::toRoute(['/site/editabledatas', 'id' => 3]),
],
'inputType' => Editable::INPUT_TEXTAREA,
]);
?>
<?php
// for end
} ?>
<?php ActiveForm::end(); ?>
<?php Pjax::end(); ?>
Заранее спасибо всем неравнодушным!