Сосредоточьтесь на вводе в поле поиска при нажатии раскрывающегося меню bootstrap Выбор - PullRequest
0 голосов
/ 29 января 2020

Моя проблема проста, но я не могу найти решение:

  • Я использую плагин bootstrap selectpicker для моих <select> тегов
  • Что я хочу, чтобы, когда пользователь нажимал на выпадающие списки, окно поиска становилось сфокусированным, вместо того, чтобы нажимать на поле поиска, чтобы сфокусироваться на нем, чтобы начать поиск по ключевым словам (просто лучший интерфейс в целом),
  • Я прочитал в Интернете, что фокусировка на поле поиска должна быть включена по умолчанию, но я пробовал настройки по умолчанию, и он не работает

Вот моя попытка JQUERY / JS вручную сфокусироваться на Ввод текстового поля для поиска:

Я пытался это

$('.ingredientsList .dropdown-toggle').on('click', function (e) {
        $(this).find(".bs-searchbox input").focus();

    });

и это

$('select').on('changed.bs.select', function (e) {
        $(this).find(".bs-searchbox input").focus();

    });

Также пытался это заменить select именами классов и идентификаторами, кажется, ничего сосредоточить внимание на вводимом тексте. Я попытался заменить .val() ввода в поле поиска просто как тест, и это сработало. Так что на самом деле, я думаю, что я делаю неправильно, это бит focus();, но нужно общее направление.

Вот оригинал HTML

<select class="selectpicker ingredientsList" name="ingredientsSelection" data-size="5" 
    id="ingredientsList"  title="Search Ingredients" data-live-search="true" >
      <option value="0">Milk</option>
      <option value="1">Butter</option>
</select>

Ответы [ 2 ]

0 голосов
/ 29 января 2020

Попробуйте это:

$(document).ready(function () { $('#ingredientsList').focus();});
0 голосов
/ 29 января 2020

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

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