From c3d5a720d3caeaae04bcb76ed1edf9070d97694f Mon Sep 17 00:00:00 2001 From: Jack Lukic Date: Sun, 31 Jul 2016 17:25:39 -0400 Subject: [PATCH] Fixes #4344 select on keydown now highlights partial selections when using search selection matching the first letters of matched result --- src/definitions/modules/dropdown.js | 10 ++++++++-- src/definitions/modules/dropdown.less | 2 +- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/definitions/modules/dropdown.js b/src/definitions/modules/dropdown.js index 4eb3ddb13..fc5351bfc 100644 --- a/src/definitions/modules/dropdown.js +++ b/src/definitions/modules/dropdown.js @@ -1414,8 +1414,7 @@ $.fn.dropdown = function(parameters) { ; module.set.scrollPosition($nextItem); if(settings.selectOnKeydown && module.is.single()) { - module.set.activeItem($nextItem); - module.set.selected(module.get.choiceValue($nextItem), $nextItem); + module.set.selectedItem($nextItem); } } event.preventDefault(); @@ -2218,6 +2217,12 @@ $.fn.dropdown = function(parameters) { $item.addClass(className.active); } }, + partialSearch: function(text) { + var + length = module.get.query().length + ; + $search.val( text.substr(0 , length)); + }, scrollPosition: function($item, forceScroll) { var edgeTolerance = 5, @@ -2291,6 +2296,7 @@ $.fn.dropdown = function(parameters) { selectedItem: function($item) { module.debug('Setting user selection to item', $item); module.remove.activeItem(); + module.set.partialSearch(module.get.choiceText($item)); module.set.activeItem($item); module.set.selected(module.get.choiceValue($item), $item); }, diff --git a/src/definitions/modules/dropdown.less b/src/definitions/modules/dropdown.less index b96821387..9704f865e 100755 --- a/src/definitions/modules/dropdown.less +++ b/src/definitions/modules/dropdown.less @@ -549,7 +549,7 @@ select.ui.dropdown { box-shadow: none !important; cursor: text; top: 0em; - left: 0em; + left: @textCursorSpacing; width: 100%; outline: none; -webkit-tap-highlight-color: rgba(255, 255, 255, 0);