diff --git a/foundation-select.js b/foundation-select.js index 2c630b2..8a43d8d 100644 --- a/foundation-select.js +++ b/foundation-select.js @@ -26,12 +26,15 @@ selectOptions.push('
  • ' + $(this).html() + '
  • '); }); + maxCharsCount = (select.width() - 20) / 7; + joinedSelectedTitles = selectedTitles.join(', '); + if (!selectedTitles.length) { selectPrompt = select.data('prompt') ? select.data('prompt') : 'Choose...'; - } else if( selectedTitles.length > 2) { + } else if (joinedSelectedTitles.length > maxCharsCount) { selectPrompt = selectedTitles.length + ' of ' + selectOptions.length + ' selected'; } else { - selectPrompt = selectedTitles.join(', '); + selectPrompt = joinedSelectedTitles; } dropdown = '
    ' + selectPrompt + ' \ @@ -61,12 +64,16 @@ selectedTitles.push($(this).find('.option-title').html()); }); origDropdown.val(selectedOptions).change(); + + maxCharsCount = (dropdown.width() - 20) / 7; + joinedSelectedTitles = selectedTitles.join(', '); + if (!selectedOptions.length) { selectPrompt = origDropdown.data('prompt') ? origDropdown.data('prompt') : 'Choose...'; - } else if (selectedOptions.length > 2) { + } else if (joinedSelectedTitles.length > maxCharsCount) { selectPrompt = selectedTitles.length + ' of ' + selectOptions.length + ' selected'; } else { - selectPrompt = selectedTitles.join(', '); + selectPrompt = joinedSelectedTitles; } dropdown.find('.custom-dropdown-button').html(selectPrompt); } else { @@ -91,12 +98,16 @@ dropdown.find('li[data-value="' + $(this).val() + '"]').addClass('selected'); } }); + + maxCharsCount = (dropdown.width() - 20) / 7; + joinedSelectedTitles = selectedTitles.join(', '); + if (!selectedTitles.length) { selectPrompt = origDropdown.data('prompt') ? origDropdown.data('prompt') : 'Choose...'; - } else if (selectedTitles.length > 2) { + } else if (joinedSelectedTitles.length > maxCharsCount) { selectPrompt = selectedTitles.length + ' of ' + selectOptions.length + ' selected'; } else { - selectPrompt = selectedTitles.join(', '); + selectPrompt = joinedSelectedTitles; } dropdown.find('.custom-dropdown-button').html(selectPrompt); });