Semantic-Org/Semantic-UI · error

You called a dropdown action that was not defined

Error message

You called a dropdown action that was not defined

What it means

determine.selectAction() runs when an item is selected; it matches settings.action against the built-in action map (nothing/activate/select/combo/hide) and against a custom function. If it matches neither (unknown string or wrong value type), it logs this error and the selection does nothing meaningful.

Solutions

  1. Set action to one of the known keys: 'nothing', 'activate', 'select', 'combo', 'hide', or a function (text,value,element)=>{}
  2. Remove the action option to use the default 'activate'

Example fix

// before
$('.ui.dropdown').dropdown({ action: 'activte' });
// after
$('.ui.dropdown').dropdown({ action: 'activate' });
// or a custom function
$('.ui.dropdown').dropdown({ action: function(text, value, el){ /* ... */ } });
Defensive patterns

Strategy: validation

Validate before calling

var KNOWN_ACTIONS = ['nothing','activate','select','combo','hide'];
function actionIsValid(a) {
  return typeof a === 'function' || KNOWN_ACTIONS.indexOf(a) !== -1;
}
if (actionIsValid(myAction)) {
  $('.ui.dropdown').dropdown({ action: myAction });
} else {
  console.warn('dropdown: invalid action', myAction);
}

Type guard

function isDropdownAction(a) {
  return typeof a === 'function'
    || a === 'nothing' || a === 'activate'
    || a === 'select'   || a === 'combo' || a === 'hide';
}

Prevention

When it happens

Trigger: Setting action to an unknown or misspelled string such as {action:'activte'}, or a non-function value like {action:123}. The default valid action is 'activate'.

Common situations: Custom action name not present in the module.action map; typo when copying from docs; passing a value that is neither a known string-key nor a function.

Related errors


AI-assisted analysis of Semantic-Org/Semantic-UI@597843ab84 (2026-08-13). Data as JSON: /api/errors/829c7b2be2465342. Report an issue: GitHub.

Appendix: source

Thrown at src/definitions/modules/dropdown.js:3793

  onLabelRemove : function(value) { return true; },
  onNoResults   : function(searchTerm) { return true; },
  onShow        : function(){},
  onHide        : function(){},

  /* Component */
  name           : 'Dropdown',
  namespace      : 'dropdown',

  message: {
    addResult     : 'Add <b>{term}</b>',
    count         : '{count} selected',
    maxSelections : 'Max {maxCount} selections',
    noResults     : 'No results found.',
    serverError   : 'There was an error contacting the server'
  },

  error : {
    action          : 'You called a dropdown action that was not defined',
    alreadySetup    : 'Once a select has been initialized behaviors must be called on the created ui dropdown',
    labels          : 'Allowing user additions currently requires the use of labels.',
    missingMultiple : '<select> requires multiple property to be set to correctly preserve multiple values',
    method          : 'The method you called is not defined.',
    noAPI           : 'The API module is required to load resources remotely',
    noStorage       : 'Saving remote data requires session storage',
    noTransition    : 'This module requires ui transitions <https://github.com/Semantic-Org/UI-Transition>'
  },

  regExp : {
    escape   : /[-[\]{}()*+?.,\\^$|#\s]/g,
    quote    : /"/g
  },

  metadata : {
    defaultText     : 'defaultText',
    defaultValue    : 'defaultValue',
    placeholderText : 'placeholder',

View on GitHub (pinned to 597843ab84)