Nano Hash - криптовалюты, майнинг, программирование

Select2 изменить положение контейнера

Как я могу настроить положение контейнера Select2 так, чтобы поле поиска располагалось прямо над исходным элементом выбора, как на этом веб-сайте

http://www.jobnisit.com/en

На мой взгляд, это выглядит чище с точки зрения пользовательского интерфейса.

Пс. извините, я не могу сейчас разместить изображение.

22.07.2015

  • Этот вопрос слишком широк; Можете ли вы добавить детали и код к своему вопросу, чтобы уточнить? 22.07.2015
  • @TylerH У меня нет определенного кода, но обычно используется Select2 по умолчанию (один выбор, чтобы быть конкретным), когда щелкаешь, под выбранным списком появляется окно поиска. Мой вопрос в том, есть ли способ расположить поле поиска прямо над выбранным списком. Я видел упомянутый веб-сайт (jobnisit.com/en), который сделал это таким образом, но я не могу т понять, как они это делают. 23.07.2015

Ответы:


1

Есть 2 способа сделать это.

1) С помощью CSS:

.select2-dropdown--below {
    top: -2.8rem; /*your input height*/
}

Это не повлияет на контейнер (.select2-container), но переместит раскрывающийся список и поле поиска, так что вы получите желаемый эффект.

2) С js:

$('select').select2().on('select2:open', function() {
  var container = .$('.select2-container').last();
  /*Add some css-class to container or reposition it*/
});

Этот код прикрепляет обработчик к событию select2:open, которое будет запускаться каждый раз, когда пользователь открывает раскрывающийся список. Этот метод лучше, если у вас есть более одного выбора на странице.

Протестировано с помощью select2 4.0.0

12.08.2015
  • Спасибо @Gennady, решение CSS работает для меня. Перед этим я установил отрицательную вершину в раскрывающемся списке .select2. Вроде тот же эффект. Будет играть с решением js, как было предложено. 14.08.2015
  • Решение CSS не может работать, когда текстовое поле находится выше, потому что в этом случае поле поиска находится поверх выбора. А Javascript-решение не работает, когда позиция автоматически меняется при прокрутке страницы. 23.11.2017
  • css не работает с v4.0.13, раскрывающийся список закрывается сразу после открытия! 19.10.2020
  • то же самое для решения js 19.10.2020
  • @Exlord Я сомневаюсь, что изменение CSS может привести к немедленному закрытию раскрывающегося списка. 19.10.2020
  • @GennadyDogaev Я задал полный вопрос с образцом фрагмента здесь stackoverflow.com/questions/64422331/ 19.10.2020

  • 2

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

    Он предоставляет нам свойство dropdownParent для размещения раскрывающегося списка внутри конкретного элемента.

    выберите поле: #edit-field-job-skillsets-tid

    родительский элемент: div.form-item-field-job-skillsets-tid

    jQuery("#edit-field-job-skillsets-tid").select2(
      {dropdownParent: jQuery('div.form-item-field-job-skillsets-tid')}
     );
    
    05.01.2016
  • @jjospratik Спасибо, сэр, 29.11.2018
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

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

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

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

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

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

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