Browse Source

Fix selection issue with <select> and userAdditions

pull/4193/head
Jack Lukic 9 years ago
parent
commit
79c31082b7
1 changed files with 2 additions and 5 deletions
  1. 7
      src/definitions/modules/dropdown.js

7
src/definitions/modules/dropdown.js

@ -1296,15 +1296,13 @@ $.fn.dropdown = function(parameters) {
hasSelectedItem = ($selectedItem.length > 0), hasSelectedItem = ($selectedItem.length > 0),
selectedIsSelectable = ($selectedItem.not(selector.unselectable).length > 0), selectedIsSelectable = ($selectedItem.not(selector.unselectable).length > 0),
delimiterPressed = (pressedKey == keys.delimiter && settings.allowAdditions && module.is.multiple()), delimiterPressed = (pressedKey == keys.delimiter && settings.allowAdditions && module.is.multiple()),
isAdditionWithoutMenu = (settings.allowAdditions && settings.hideAdditions && (pressedKey == keys.enter || delimiterPressed)),
isAdditionWithoutMenu = (settings.allowAdditions && settings.hideAdditions && (pressedKey == keys.enter || delimiterPressed) && selectedIsSelectable),
$nextItem, $nextItem,
isSubMenuItem, isSubMenuItem,
newIndex newIndex
; ;
// allow selection with menu closed // allow selection with menu closed
if(isAdditionWithoutMenu) { if(isAdditionWithoutMenu) {
$selectedItem = $menu.children(selector.addition);
module.verbose('Selecting item from keyboard shortcut', $selectedItem); module.verbose('Selecting item from keyboard shortcut', $selectedItem);
module.event.item.click.call($selectedItem, event); module.event.item.click.call($selectedItem, event);
if(module.is.searchSelection()) { if(module.is.searchSelection()) {
@ -2571,7 +2569,6 @@ $.fn.dropdown = function(parameters) {
return; return;
} }
if(value === '' || alreadyHasValue) { if(value === '' || alreadyHasValue) {
console.log('removing addition');
$addition.remove(); $addition.remove();
return; return;
} }
@ -2596,7 +2593,6 @@ $.fn.dropdown = function(parameters) {
$addition $addition
.prependTo($menu) .prependTo($menu)
; ;
$item.add($addition);
module.verbose('Adding item choice to menu corresponding with user choice addition', $addition); module.verbose('Adding item choice to menu corresponding with user choice addition', $addition);
} }
if(!settings.hideAdditions || module.is.allFiltered()) { if(!settings.hideAdditions || module.is.allFiltered()) {
@ -2606,6 +2602,7 @@ $.fn.dropdown = function(parameters) {
.removeClass(className.selected) .removeClass(className.selected)
; ;
} }
module.refreshItems();
}, },
variables: function(message, term) { variables: function(message, term) {
var var

Loading…
Cancel
Save