jQuery / JavaScript - Прокрутка до верхней части выпадающего списка, когда ни один вариант не выбран - PullRequest
0 голосов
/ 31 января 2020

В моем раскрывающемся списке с номерами товаров я реализовал функцию, которая прокручивает до номера выбранного товара, когда пользователи открывают выпадающий список.

Однако это должно выполняться только после того, как пользователь выбрал номер товара сам. В противном случае должна отображаться верхняя часть раскрывающегося списка ( первый элемент ).

Для номера элемента по умолчанию 10 выбран.

Проблема:

Когда вы открываете раскрывающийся список, он автоматически прокручивается до положения по умолчанию 10.

    scrollDropdownToSelectedOption(selector) {
        const selectedOption = selector.find('.selected');

        if (selectedOption.length === 0) {
            return;
        }

        const dropdown = selector.find('.js-options-list');
        let scrollPosition;

        if (this.deviceManager.getCurrentState() === MOBILE) {
            const mobileLabel = selector.find('.js-mobile-label');

            scrollPosition = -(mobileLabel.outerHeight() - selectedOption.offset().top + selectedOption.outerHeight());
        } else {
            scrollPosition = -(selector.offset().top - selectedOption.offset().top + selectedOption.outerHeight() * 2);
        }

        dropdown.scrollTop(scrollPosition);
    },

По умолчанию 10 имеет класс 'selected', следовательно, он прокручивается в эту позицию.

Мне понадобится условие, чтобы scrollDropdownToSelectedOption() запускался только в том случае, если не был выбран ни один параметр в раскрывающемся списке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...