From ccb1c7fde48e500edfef57282a92166d1dac5b1b Mon Sep 17 00:00:00 2001 From: Jack Lukic Date: Sun, 6 Mar 2016 22:38:37 -0500 Subject: [PATCH] #3779 - Fixes issue where dropdown with user addition would keep input after selecting a choice --- src/definitions/modules/dropdown.js | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/definitions/modules/dropdown.js b/src/definitions/modules/dropdown.js index bd2c06f22..87e0d6312 100644 --- a/src/definitions/modules/dropdown.js +++ b/src/definitions/modules/dropdown.js @@ -1015,8 +1015,6 @@ $.fn.dropdown = function(parameters) { }, settings.delay.hide); } }, - touchend: function() { - }, click: function (event) { var $choice = $(this), @@ -1030,9 +1028,14 @@ $.fn.dropdown = function(parameters) { isBubbledEvent = ($subMenu.find($target).length > 0) ; if(!isBubbledEvent && (!hasSubMenu || settings.allowCategorySelection)) { + if(module.is.searchSelection()) { + if(settings.allowAdditions) { + module.remove.userAddition(); + } + module.remove.searchTerm(); + } if(!settings.useLabels) { module.remove.filteredItem(); - module.remove.searchTerm(); module.set.scrollPosition($choice); } module.determine.selectAction.call(this, text, value); @@ -1528,7 +1531,7 @@ $.fn.dropdown = function(parameters) { isEmptyMultiselect = ($.isArray(value) && value.length === 1 && value[0] === '') ; // prevents placeholder element from being selected when multiple - return (value == undefined || isEmptyMultiselect) + return (value === undefined || isEmptyMultiselect) ? '' : value ; @@ -2577,6 +2580,9 @@ $.fn.dropdown = function(parameters) { $search.val(''); module.set.filtered(); }, + userAddition: function() { + $item.filter(selector.addition).remove(); + }, selected: function(value, $selectedItem) { $selectedItem = (settings.allowAdditions) ? $selectedItem || module.get.itemWithAdditions(value)