@Silverviql

Как отобразить select2 в модальном окне?

Я использовал kartik-v Select2 виджет внутри загрузочного модального файла, загруженного через ajax,
<?php echo Select2::widget([
                'name' => 'state_40',
                'data' => [1 => "Футболка", 2 => "Пролонгация", 3 => "Полк", 4 => "Футон", 5 => "Профуфлили"],
                'options' => ['placeholder' => 'Select a state ...'],
                'pluginOptions' => [
                    'allowClear' => true
                ],
            ]);
            ?>

Вызов модального окна
if($model->isNewRecord){
    $js = <<<JS
    $('#modalZakazcreate').on('beforeSubmit', 'form', function(){
        alert('Напоминание создано!');
	 var data = $(this).serialize();
	 $.ajax({
	    url: '/frontend/web/zakaz/create/$model->id_zakaz', 
	    type: 'POST',
	    data: data,
	    success: function(res){
	       /*console.log(res);*/
	       console.log('Четко');
	    },
	    error: function(){
	       alert('Error!');
	    }
	 });
	/* $('.trigger success-trigger').trigger('click');*/
	 $('#modalZakazcreate').modal('hide'); //закрытие модального окна.
	 $('#modalZakazcreate'). removeAttr ('tabindex');
	 $('#modalZakazcreate').off('beforeSubmit', form);
	 return false;
     });
JS;
    $this->registerJs($js);
}

На другой странице где вызывается модальное окно прописал
<?php Modal::begin([
        'id' => 'modalZakazupdate',
        'options' => [
            'id' => 'kartik-modal',
            'tabindex' => false // important for Select2 to work properly
        ],
        'header' => '<h2>Редактирование заказа</h2>'
    ]);
    echo '<div class="modalContent"></div>';
    Modal::end(); ?>


Если в option прописать 'id' => 'kartik-modal', то модальное окно вообще не открыываетсЯ, никаких ошибок нет.
Если убрать то поле ввода select2 отображается за модальным окном
5ba0eb077df00289300013.png
Если открывать страницу с полями ввода то поля ввода понятное дело есть) 5ba0eb42ee84e622774970.png

На гитхаб нашел упоминание данной проблемы. https://github.com/yiisoft/yii2-bootstrap/issues/70
Я прописал ,удалив атрибут в JavaScript:

$ ( ' #modal ' ). removeAttr ( ' tabindex ' );
Но это так же не помогло.
  • Вопрос задан
  • 840 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

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