From e8295fdb6f77f1dcd90ee7eb89314d2b18e2ba21 Mon Sep 17 00:00:00 2001 From: jlukic Date: Sun, 21 Sep 2014 12:57:20 -0400 Subject: [PATCH] Fixes for hybrid style initialization --- src/definitions/modules/dropdown.js | 29 ++++++++++++++------------- src/definitions/modules/dropdown.less | 13 ++++++++---- 2 files changed, 24 insertions(+), 18 deletions(-) diff --git a/src/definitions/modules/dropdown.js b/src/definitions/modules/dropdown.js index 936aeb8b2..5ae2aeec0 100755 --- a/src/definitions/modules/dropdown.js +++ b/src/definitions/modules/dropdown.js @@ -145,15 +145,16 @@ $.fn.dropdown = function(parameters) { module.debug('Dropdown initialized on a select', selectValues); // see if select exists inside a dropdown $input = $module; - - if($module.closest(className.dropdown) > 0) { + if($input.parents(selector.dropdown).size() > 0) { module.debug('Creating dropdown menu only from template'); - $module = $module.closest(className.dropdown); - $('
') - .addClass(className.menu) - .html( settings.templates.menu( selectValues )) - .appendTo($module) - ; + $module = $input.closest(selector.dropdown); + if($module.find('.' + className.dropdown).size() === 0) { + $('
') + .addClass(className.menu) + .html( settings.templates.menu( selectValues )) + .appendTo($module) + ; + } } else { module.debug('Creating entire dropdown from template'); @@ -1330,11 +1331,12 @@ $.fn.dropdown.settings = { }, selector : { - text : '> .text:not(.icon)', - input : '> input[type="hidden"], > select', - search : '> .search', - menu : '.menu', - item : '.item' + dropdown : '.ui.dropdown', + text : '> .text:not(.icon)', + input : '> input[type="hidden"], > select', + search : '> .search', + menu : '.menu', + item : '.item' }, className : { @@ -1359,7 +1361,6 @@ $.fn.dropdown.settings.templates = { values = select.values || {}, html = '' ; - html += '