Modal. GridView. Поле input у виджета select2 в filterModel

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
terrarium volition
Сообщения: 99
Зарегистрирован: 2021.07.15, 21:22

Modal. GridView. Поле input у виджета select2 в filterModel

Сообщение terrarium volition »

Всем доброго дня!

Беда пришла, откуда не ждали. Караул! :shock:

Есть таблица в модальном окне Bootstrap Modal.
В таблице есть поиск в виде select2 поля для searchModel.
Сам select2 работает, а вот его поле ввода текста для поиска не работает в модальном окне. Поле ввода не кликабельно, текст туда не написать.
Вне модального окна всё работает.

Подскажите, пожалуйста, это кривость моих рук или это баг или это что?
Как это исправить? Вопрос ппц какой важный, выяснилось это случайно, быстро от модальных окон не отказаться, слишком много на них завязано уже, да и не хотелось бы, в принципе, отказываться.

Это стало полной неожиданностью, не проверялось, так как казалось 100% рабочим решением. :?
Последний раз редактировалось terrarium volition 2024.03.18, 18:52, всего редактировалось 1 раз.
caHek2x
Сообщения: 1242
Зарегистрирован: 2016.04.12, 20:41

Re: Modal. GridView. Поле input в модели поиска select2

Сообщение caHek2x »

не кликабельно почему ? может оно уходит под подложку окна, поиграйте с z-index в стилях
terrarium volition
Сообщения: 99
Зарегистрирован: 2021.07.15, 21:22

Re: Modal. GridView. Поле input в модели поиска select2

Сообщение terrarium volition »

caHek2x писал(а): 2024.03.18, 01:46 не кликабельно почему ? может оно уходит под подложку окна, поиграйте с z-index в стилях
Не знаю, почему не кликабельно, в этом, собственно, и вопрос.)

Не знаю, как здесь прикрепить фото.

В общем, при наведении на область ввода текста, курсор мыши превращается в курсор текстового ввода, но текст не печатается и курсор не встаёт в поле ввода.

По поводу z-index - не использовал его ранее. Почитал - он используется у элементов, у которых
... задано позиционирование, например, position: absolute, position: relative или position: fixed. Для элементов с position: static (значение по умолчанию) свойство не будет иметь эффекта
Посмотрел - у select2 нигде нет такого свойства. :(
caHek2x
Сообщения: 1242
Зарегистрирован: 2016.04.12, 20:41

Re: Modal. GridView. Поле input в модели поиска select2

Сообщение caHek2x »

ок идем в документацию
https://demos.krajee.com/widget-details/select2

итого:

Код: Выделить всё

<?php
Modal::begin([
    'title'         => 'Тест Select2',
    'toggleButton'  => ['label' => 'Показать', 'class' => 'btn btn-primary mb-1'],
    'options'  => [
        'id' => 'kartik-modal',
        'tabindex' => false // important for Select2 to work properly
    ],
    'headerOptions' => [
        'style' => 'background-color: #337ab7; color: #ffffff;'
    ]
]);
?>

<?= Select2::widget([
    'id'      => 'test',
    'name'    => 'test',
    'value'         => null,
    'data'          => Users::USER_TYPE_NAMES,
    'pluginOptions' => [
        'dropdownParent' => '#kartik-modal'
    ],
]); ?>


<?php Modal::end(); ?>
итого добавление в модалку

Код: Выделить всё

'options'  => [
    'id' => 'kartik-modal',
    'tabindex' => false // important for Select2 to work properly
],
и добавление в select2

Код: Выделить всё

'dropdownParent' => '#kartik-modal'
решило проблему

Изображение

но подозреваю что сейчас окажется что вы используете не select2 kartik обертку а чтото другое ?!
caHek2x
Сообщения: 1242
Зарегистрирован: 2016.04.12, 20:41

Re: Modal. GridView. Поле input в модели поиска select2

Сообщение caHek2x »

terrarium volition писал(а): 2024.03.18, 14:20 По поводу z-index - не использовал его ранее. Почитал - он используется у элементов, у которых
Посмотрел - у select2 нигде нет такого свойства. :(
не важно что его нет, может у родительного элемента в свойствах какйойто слой перекрывает, ведь выпадающий список с полем висит в воздухе, покопайтесь в инспекторе обьектов в браузере и посмотрите почему не нажимается, и попытайтесь стилями поднять поле ...
это на случай если ответ выше не подойдет ... ну или кидайте код будем вместе тестировать ... потому что пока идет гадание )
terrarium volition
Сообщения: 99
Зарегистрирован: 2021.07.15, 21:22

Re: Modal. GridView. Поле input в модели поиска select2

Сообщение terrarium volition »

caHek2x писал(а): 2024.03.18, 17:10 ок идем в документацию
https://demos.krajee.com/widget-details/select2

итого:

Код: Выделить всё

'tabindex' => false // important for Select2 to work properly
...
итого  добавление в модалку 
[code]'options'  => [
    'id' => 'kartik-modal',
    'tabindex' => false // important for Select2 to work properly
],
и добавление в select2

Код: Выделить всё

'dropdownParent' => '#kartik-modal'
решило проблему
но подозреваю что сейчас окажется что вы используете не select2 kartik обертку а чтото другое ?!
Данные манипуляции, действительно, исправляют ситуацию для отдельного select2(да, я пользуюсь kartik), находящегося в модалке.
Но, к сожалению, не помогают для select2, который находится в качестве filterModel внутри GridView. :(
terrarium volition
Сообщения: 99
Зарегистрирован: 2021.07.15, 21:22

Re: Modal. GridView. Поле input в модели поиска select2

Сообщение terrarium volition »

А ещё я засомневался(сейчас не могу проверить), а работает ли такой поиск внутри GridView без модалки.
Может, дело не в модалке, вообще.
До завтра постараюсь прояснить этот момент.
terrarium volition
Сообщения: 99
Зарегистрирован: 2021.07.15, 21:22

Re: Modal. GridView. Поле input в модели поиска select2

Сообщение terrarium volition »

terrarium volition писал(а): 2024.03.18, 18:44 А ещё я засомневался(сейчас не могу проверить), а работает ли такой поиск внутри GridView без модалки.
Может, дело не в модалке, вообще.
До завтра постараюсь прояснить этот момент.
Да, всё, как и говорил ранее.
За пределами модалки поле ввода input у select2 filterModel GridView работает, а если поместить GridView внутрь модалки, то не работает.
caHek2x
Сообщения: 1242
Зарегистрирован: 2016.04.12, 20:41

Re: Modal. GridView. Поле input в модели поиска select2

Сообщение caHek2x »

я все поглядываю и жду когда вы кусок кода приведете с чем можно потестировать, а вы по-моему не собираетесь так сделать )
caHek2x писал(а): 2024.03.18, 17:20 ... ну или кидайте код будем вместе тестировать ... потому что пока идет гадание )
terrarium volition
Сообщения: 99
Зарегистрирован: 2021.07.15, 21:22

Re: Modal. GridView. Поле input в модели поиска select2

Сообщение terrarium volition »

caHek2x писал(а): 2024.03.20, 16:33 я все поглядываю и жду когда вы кусок кода приведете с чем можно потестировать, а вы по-моему не собираетесь так сделать )
caHek2x писал(а): 2024.03.18, 17:20 ... ну или кидайте код будем вместе тестировать ... потому что пока идет гадание )
:D Спасибо за ваше поглядывание и извините, что заставляю ждать.

Я сейчас написал вам портянку с кусками кода.
А потом посмотрел и понял в чём дело :D

Я не добавил dropdownParent в filter :roll:

Код: Выделить всё

$columns[$widget_start]['filter']     = $filter[$widget_pos];
                    $columns[$widget_start]['filterType'] = $filterType;
                    $columns[$widget_start]['filterWidgetOptions'] =
                        [
                            'options' => ['prompt' => ''],
                            'pluginOptions' => [
                            	dropdownParent => $idParent
                                'allowClear' => true,
                            ],
                        ];
Спасибо ещё раз!
Ответить