2014-11-27 4 views
2

Я надеюсь, что есть решение этой проблемы, поскольку я чувствую, что это сделает мой интерфейс более удобным для пользователя. После прочтения документа bootstrap-multiselect я не смог найти способ узнать, как реализовать фокусировку на поисковом окне, когда вы нажимаете раскрывающийся список, а также я хотел бы добавить функции типа впереди.bootstrap-multiselect dropdown - установить фокус на поиск и реализовать функцию typeahead

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

директива выглядит следующим образом: (обратите внимание, что это только часть директивы, которые я считаю раздел, в котором должна быть приложена ngfocus, но я могу ошибаться)

return { 
     scope: { 
      callback: "&", 
      ngModel: "=" 
     }, 
     link: function (scope, element, attrs) { 

      element.multiselect({ 
       maxHeight: attrs.maxHeight ? attrs.maxHeight : 300, 
       includeSelectAllOption: attrs.includeSelectAllOption === undefined || attrs.includeSelectAllOption === null ? true : attrs.includeSelectAllOption === 'true', 
       selectedClass: 'active', 
       enableFiltering: true, 
       enableCaseInsensitiveFiltering: true, 
       nonSelectedText: attrs.nonSelectedText ? attrs.nonSelectedText : 'All', 
       numberDisplayed: attrs.numberDisplayed ? attrs.numberDisplayed : 2, 
       buttonContainer: attrs.buttonClass ? '<div class="btn-block">' : '<div class="btn-group">', 
       buttonClass: attrs.buttonClass ? attrs.buttonClass : 'btn btn-default btn-xs', 
       buttonWidth: '100%', 
       onChange: function(element, checked) { 
        scope.callback(); 
       } 
      }); 

Во всяком случае, чтобы добавить эти функции?

Спасибо

ответ

3

Является ли этот вопрос направлен на этот плагин?

bootstrap-multiselect

Если да, то я использую тот же плагин, и я также хотел немедленного фокус в «фильтр» вход, когда выпадающий показано. Чтобы решить эту проблему, я использовал событие onDropdownShown для немедленного фокуса в области фильтра. Теперь мой код выглядит так, и он отлично работает. Вы нажимаете раскрывающийся список и можете сразу начать вводить и фильтровать.

$('#other-major').multiselect({ 
    maxHeight: 200, 
    numberDisplayed: 20, 
    onDropdownShown: function(even) { 
     this.$filter.find('.multiselect-search').focus(); 
    }, 
enableCaseInsensitiveFiltering: true });