2016-10-12 3 views
0

Я только что построил небольшое приложение для поиска фильмов с помощью AngularJS и Elasticsearch. Я использовал AngularJS UT Bootstrap Typeahead для автозаполнения и в тестировании заметил что-то о взаимодействии с пользователем.Нет поиска по Введите ключ

Скажите, что я хочу найти актеров по имени Том. Я набираю «tom» в поисковом входе и появляется 5 предложений - отлично. Тем не менее, это не позволит мне просто искать «tom», если все, что я делаю, это нажать Enter на клавиатуре. Он автоматически выбирает первое предложение в раскрывающемся списке. IT WILL просто ищет «tom», если я просто нажму кнопку «Отправить». Моя разметка формы ниже - где я иду не так?

Я хочу, чтобы мои пользователи могли искать запросы они входят (при нажатии клавиши Enter), не ограничиваясь только предложения, предоставляемых ...

<div class="col-sm-3 col-md-6 pull-left" style="border: 1px solid red;"><form name="q" ng-submit="vm.search()" class="navbar-form" role="search"> 
<div class="input-group input-group-md"> 
    <input type="text" ng-model="vm.searchTerms" class="form-control input-md" placeholder="{{ vm.searchTerms }}" name="q" typeahead-show-hint="true" uib-typeahead="query for query in vm.getSuggestions($viewValue)" typeahead-on-select="vm.search($item)"> 

    <span class="input-group-btn"> 
    <button class="btn btn-primary btn-md" type="submit" id="results-search-btn" ng-submit="vm.search()"><i class="fa fa-search fa-lg"></i> 
    </button> 
    </span> 
</div> 

ответ

0

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

typeahead-focus-first="false" 

видит свою документацию для получения дополнительной информации:

https://angular-ui.github.io/bootstrap/#/typeahead

+0

спасибо за быстрый ответ. Он работает НИКОГДА, он также отнимает у вас внимание из первого предложения, которое я хотел бы сохранить. Есть ли способ сохранить подсветку? – user3125823

+1

Выделение направляет функциональность клавиш ввода, единственное, что я мог подумать, - это переопределить функциональность ключа ввода, чтобы делать то, что вам нужно. Что-то вроде этого, но вместо того, чтобы просто возвращать фальшивый триггер, вы также можете искать функцию: http://stackoverflow.com/questions/11235622/jquery-disable-form-submit-on-enter –

+0

@ user3125823 извините, забыли пометить вас. –