2014-07-17 5 views
1

Я в настоящее время с помощью этих двух плагинов вместе:Jquery автозаполнения (devbridge) поисковое вход

https://github.com/stidges/jquery-searchable

https://github.com/devbridge/jQuery-Autocomplete

Моя проблема заключается в том, что при выборе опции из выпадающего списка автозаполнения (через mouseclick), он заполняет текстовое поле, но не вызывает действие фильтра jquery-searchable.

Однако, если я выберу опцию из выпадающего списка автозаполнения с клавиатурой (с помощью клавиши со стрелкой вниз), работа с jquery-searchable.

Следует отметить, что метод mouseclick «работает», если я делаю любое нажатие клавиши в текстовом поле после выбора опции, будь то вхождение в пробел или просто перемещение курсора с помощью стрелки влево/вправо ключи. При любом из этих действий происходит поиск в jquery-searchable и поиск элементов, как обычно.

Я предполагаю, что существует разница между способом щелчка и клавиатуры - выберите запись данных в поле ввода.

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

$('#dpt-search').autocomplete({ 
     lookup: dpts, 
     minLength: 0, 
     onSelect: function (suggestion) { 
      $('#dpt-search').trigger('keypress'); 
     } 
}); 

Так в основном,

1.) Есть ли способ сделать выбор jquery-autocomplete с помощью mouseclick одинаковым образом работать с выбором клавиатуры?

2.) Если нет, существует ли способ обеспечить, чтобы какая-то симулированная активность клавиатуры происходила во входном элементе после того, как я ее выбрал, чтобы запустить jquery-searchable?


Вот живой пример: http://cpira.tamucc.edu/membership/findrep/

Попробуйте ввести в «Центр» в поле поиска, а затем нажатием кнопки мыши первый вариант. Поле будет автоматически заполнено, но searchable не будет фильтровать список.

Очистить поле и снова выполнить поиск в Центре, но этот тип использует клавиатуру со стрелкой вниз. Каждый выбор (при перемещении вниз по списку с помощью клавиши со стрелкой) обновляет фильтр searchable.

+0

Можете ли вы поделиться ссылкой на размещенный сайт или jsFiddle? – bobthyasian

ответ

1

Сохраните jQuery, но смените keypress на change или keyup. Согласно source, начинающему со строки 61 (в частности, 64), события привязки для поиска: keyup и change. Я также добавлю .focus() до .trigger(), чтобы убедиться, что вход выбран/сфокусирован.

+1

Работал как шарм, спасибо. +50 к вам, добрый сэр. – skippr

Смежные вопросы