Использую
это расширение для создания динамических полей,
select2 от картика и зависимые поля
DeepDrop от картика.
При генерации динамических полей вызывается скрипт создания нового поля и появляется загрузка, которая затем не исчезает. ID у полей разные. Поля типа input генерирует хорошо, а с вышеописанными плагинами работать не хочет... Что может быть?
Конфликт скорее всего связан с Select2 и Deep Drop.
Код<div class="">
<div class="panel panel-default">
<div class="panel-heading"><h4><?=Yii::t('backend', 'Appointment')?></h4></div>
<div class="panel-body">
<?php DynamicFormWidget::begin([
'widgetContainer' => 'dynamicform_wrapper', // required: only alphanumeric characters plus "_" [A-Za-z0-9_]
'widgetBody' => '.container-items', // required: css class selector
'widgetItem' => '.item', // required: css class
'limit' => 7, // the maximum times, an element can be cloned (default 999)
'min' => 3, // 0 or 1 (default 1)
'insertButton' => '.add-item', // css class
'deleteButton' => '.remove-item', // css class
'model' => $modelsAppointmentItem[0],
'formId' => 'dynamic-form',
'formFields' => [
'type_judge',
'judge_id',
'judge_comitet_id',
],
]); ?>
<div class="container-items"><!-- widgetContainer -->
<?php foreach ($modelsAppointmentItem as $i => $modelAppointmentItem): ?>
<div class="item panel panel-default"><!-- widgetBody -->
<div class="panel-heading">
<h3 class="panel-title pull-left">Судья №<?=$i+1?></h3>
<div class="pull-right">
<button type="button" class="add-item btn btn-success btn-xs"><i class="glyphicon glyphicon-plus"></i></button>
<button type="button" class="remove-item btn btn-danger btn-xs"><i class="glyphicon glyphicon-minus"></i></button>
</div>
<div class="clearfix"></div>
</div>
<div class="panel-body">
<?php
// necessary for update action.
if (! $modelAppointmentItem->isNewRecord) {
echo Html::activeHiddenInput($modelAppointmentItem, "[{$i}]id");
}
?>
<?= $form->field($model, "[{$i}]type_judge", ['options' => ['class' => 'col-sm-3']])->widget(Select2::classname(), [
'data' => Appointment::getTypeJudgeList(),
'language' => 'ru',
'hideSearch' => true,
'initValueText' => ['1'],
'options' => ['placeholder' => 'Выберите тип судьи...'],
'pluginOptions' => [
'allowClear' => false
],
]);?>
<?= $form->field($model, "[{$i}]judge_id", ['options' => ['class' => 'col-sm-6']])->widget(DepDrop::classname(), [
'type'=> DepDrop::TYPE_SELECT2,
'data' => ArrayHelper::map(\backend\models\Judge::find()->all(), 'id', 'fullName'),
'pluginOptions'=>[
'depends'=>['appointment-type_judge'],
'placeholder' => 'Выберите судью...',
'url' => Url::to(['/appointment/judge-list']),
'loadingText' => 'Загрузка судей...',
'initialize' => true,
'params'=>[$model->judge_id],
]
]);?>
<?= $form->field($model, "[{$i}]judge_comitet_id", ['options' => ['class' => 'col-sm-3']])->widget(DepDrop::classname(), [
'type'=>DepDrop::TYPE_SELECT2,
'data' => ArrayHelper::map(Appointment::getJudgeWhere(), 'id', 'appInfoJudge'),
'pluginOptions'=>[
'depends'=>['appointment-judge_id'],
'placeholder' => 'Выберите категорию...',
'url' => Url::to(['/appointment/judge-category-list']),
'loadingText' => 'Загрузка категорий...',
'initialize' => true,
'params'=>[$model->judge_comitet_id],
]
]);?>
</div>
</div>
<?php endforeach; ?>
</div>
<?php DynamicFormWidget::end(); ?>
</div>
</div>