Задать вопрос

Как убрать скроллинг вверх при клике на select2?

У меня такая проблема, когда открывается страница и я выбираю select2 который построен на ajax запросах, то меня перекидывает наверх. Посмотрел в js что может повлиять, вначале я думал что это dropdownParent как написано тут. Но нет, он все равно скроллится наверх к тегу body.
<?= Select2::widget([
                            'initValueText' => Html::encode($arrList['city']), // set the initial display text
                            'name' => 'Profile[city]',
                            'options' => ['placeholder' => 'Начните вводить '],
                            'value' => Html::encode($profile->city),
                            'language' => 'ru',
                            'pluginOptions' => [
                                'dropdownParent' => new yii\web\JsExpression('$("#personal-index")'),
                                'allowClear' => true,
                                'minimumInputLength' => 1,
                                'language' => [
                                    'errorLoading' => new JsExpression("function () { return 'Поиск...'; }"),
                                    'inputTooShort' => new JsExpression("function (args) {
                            var remainingChars = args.minimum - args.input.length;

                            var message = 'Пожалуйста, введите ' + remainingChars + ' или более символов';

                            return message;
                        }"),
                                'loadingMore' => new JsExpression("function () {return 'Загружаем ещё ресурсы…';}"),
                                'searching' => new JsExpression("function () {return 'Поиск…';}"),
                                'noResults' => new JsExpression("function () {return 'Ничего не найдено…';}"),
                            ],
                            'ajax' => [
                                'url' => Url::to(['user/city-list']),
                                'dataType' => 'json',
                                'data' => new JsExpression('function(params) { return {q:params.term}; }')
                            ],
                            'escapeMarkup' => new JsExpression('function (markup) { return markup; }'),
                            'templateResult' => new JsExpression('function(user) { return user.text; }'),
                            'templateSelection' => new JsExpression('function (user) { return user.text; }'),
                            ],
                        ]) ?>

Вот весь код
  • Вопрос задан
  • 423 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
@rusline18 Автор вопроса
По теме https://github.com/select2/select2/issues/5022 нужно закомментировать top и тогда скроллится не будет

$dropdown.css({
      position: 'absolute',
      // top: -999999
    });
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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