# JavaScript DropDown Controls

Superset of HTML select box contains specific features such as data binding, grouping, sorting, filtering, and templates.

## What's Included in the JavaScript DropDown Package

The JavaScript DropDown package includes the following list of components.

### JavaScript DropDownList

The [JavaScript DropdownList](https://www.syncfusion.com/javascript-ui-controls/js-dropdown-list?utm_source=npm&utm_medium=listing&utm_campaign=javascript-dropdown-npm) control is a quick replacement of the HTML select tags. It has a rich appearance and allows users to select a single value that is non-editable from a list of predefined values.

<p align="center">
    <a href="https://ej2.syncfusion.com/documentation/drop-down-list/getting-started/?utm_source=npm&utm_medium=listing&utm_campaign=javascript-dropdown-npm">Getting Started</a> .
    <a href="https://ej2.syncfusion.com/demos/?utm_source=npm&utm_medium=listing&utm_campaign=javascript-dropdown-npm#/material/drop-down-list/default.html">Online demos</a> .
    <a href="https://www.syncfusion.com/javascript-ui-controls/js-dropdown-list?utm_source=npm&utm_medium=listing&utm_campaign=javascript-dropdown-npm">Learn more</a>
</p>

<p align="center">
<img alt="JavaScript DropDownList Control" src="https://raw.githubusercontent.com/SyncfusionExamples/nuget-img/master/javascript/javascript-dropdownlist.png">
</p>

#### Key features

* [Data binding](https://ej2.syncfusion.com/demos/#/material/drop-down-list/data-binding.html) - Binds and accesses the list of items from the local or server-side data source.
* [Grouping](https://ej2.syncfusion.com/demos/#/material/drop-down-list/grouping-icon.html) - Groups the logically related items under a single or specific category.
* [Sorting](https://ej2.syncfusion.com/documentation/api/drop-down-list#sortorder) - Sorts the list items in alphabetical order (either ascending or descending).
* [Filtering](https://ej2.syncfusion.com/demos/#/material/drop-down-list/filtering.html) - Filters the list items based on a character typed in the search box.
* [Templates](https://ej2.syncfusion.com/demos/#/material/drop-down-list/template.html) - Customizes the list items, selected value, header, footer, category group header, and no records content.
* [Accessibility](https://ej2.syncfusion.com/documentation/drop-down-list/accessibility) - Provided with built-in accessibility support used to access all the DropDownList component features using keyboard, screen readers, or other assistive technology devices.

### JavaScript DropDownTree

The [JavaScript DropdownTree](https://www.syncfusion.com/javascript-ui-controls/js-dropdown-tree?utm_source=npm&utm_medium=listing&utm_campaign=javascript-dropdown-npm) control is a textbox control that allows the user to select single or multiple values from hierarchical data in a tree-like structure. It has several out-of-the-box features, such as data binding, check boxes, templates, UI customization, accessibility, and preselected values.

<p align="center">
    <a href="https://ej2.syncfusion.com/documentation/drop-down-tree/getting-started/?utm_source=npm&utm_medium=listing&utm_campaign=vue-dropdown-npm">Getting Started</a> .
    <a href="https://ej2.syncfusion.com/demos/?utm_source=npm&utm_medium=listing&utm_campaign=javascript-dropdown-npm#/material/drop-down-tree/default.html">Online demos</a> .
    <a href="https://www.syncfusion.com/javascript-ui-controls/js-dropdown-tree?utm_source=npm&utm_medium=listing&utm_campaign=vue-dropdown-npm">Learn more</a>
</p>

<p align="center">
<img alt="JavaScript DropDownTree Control" src="https://raw.githubusercontent.com/SyncfusionExamples/nuget-img/master/javascript/javascript-dropdowntree.png">
</p>

#### Key features

* [Data binding](https://ej2.syncfusion.com/demos/?utm_source=npm&utm_medium=listing&utm_campaign=javascript-dropdown-npm#/material/drop-down-tree/local-data.html) - Binds and accesses the list of items from the local or remote data source.
* [Checkbox](https://ej2.syncfusion.com/demos/?utm_source=npm&utm_medium=listing&utm_campaign=javascript-dropdown-npm#/material/drop-down-tree/checkbox.html) - Built-in support for checkboxes, allowing users to select single or multiple items.
* [Template](https://ej2.syncfusion.com/demos/?utm_source=npm&utm_medium=listing&utm_campaign=javascript-dropdown-npm#/material/drop-down-tree/template.html) - To change the appearance of the selection pop-up for tree items, plus the header and footer of the pop-up tree.
* [Filtering](https://ej2.syncfusion.com/demos/?utm_source=npm&utm_medium=listing&utm_campaign=javascript-dropdown-npm#/material/drop-down-tree/filtering.html) - Filters the list items based on a character typed in the search box.

### JavaScript Mention

The JavaScript Mention control is an autocomplete-like control to tag or select a user/group from the suggestion list. The control opens the suggestion list when a user starts typing with the character ‘@’ in popular social media sites such as Facebook, Twitter, and more. It supports several out-of-the-box features: Data binding, grouping, UI customization, accessibility, and more.

<p align="center">
    <a href="https://ej2.syncfusion.com/documentation/mention/getting-started/?utm_source=npm&utm_medium=listing&utm_campaign=javascript-dropdown-npm">Getting Started</a> .
    <a href="https://ej2.syncfusion.com/demos/?utm_source=npm&utm_medium=listing&utm_campaign=javascript-dropdown-npm#/material/mention/default.html">Online demos</a> .
    <a href="https://www.syncfusion.com/javascript-ui-controls/js-mention?utm_source=npm&utm_medium=listing&utm_campaign=javascript-dropdown-npm">Learn more</a>
</p>

<p align="center">
<img alt="JavaScript Mention Control" src="https://raw.githubusercontent.com/SyncfusionExamples/nuget-img/master/javascript/javascript-mention.png">
</p>

#### Key features

* [Sorting](https://ej2.syncfusion.com/documentation/mention/sorting/?utm_source=npm&utm_medium=listing&utm_campaign=javascript-dropdown-npm) - Sorts the list items in alphabetical order (either ascending or descending).
* [Filtering](https://ej2.syncfusion.com/documentation/mention/filtering-data/?utm_source=npm&utm_medium=listing&utm_campaign=javascript-dropdown-npm) - Filters the list items based on a character typed in the search box.

### JavaScript ComboBox

The [JavaScript ComboBox](https://www.syncfusion.com/javascript-ui-controls/js-combobox?utm_source=npm&utm_medium=listing&utm_campaign=javascript-dropdown-npm) control is a drop-down list with editable textbox that also allows users to choose an option from a predefined pop-up list.

<p align="center">
    <a href="https://ej2.syncfusion.com/documentation/combo-box/getting-started/?utm_source=npm&utm_medium=listing&utm_campaign=javascript-dropdown-npm">Getting Started</a> .
    <a href="https://ej2.syncfusion.com/demos/?utm_source=npm&utm_medium=listing&utm_campaign=javascript-dropdown-npm#/material/combo-box/default.html">Online demos</a> .
    <a href="https://www.syncfusion.com/javascript-ui-controls/js-combobox?utm_source=npm&utm_medium=listing&utm_campaign=javascript-dropdown-npm">Learn more</a>
</p>

<p align="center">
<img alt="JavaScript ComboBox Control" src="https://raw.githubusercontent.com/SyncfusionExamples/nuget-img/master/javascript/javascript-combobox.png">
</p>

#### Key features

* [Data binding](https://ej2.syncfusion.com/demos/#/material/combo-box/data-binding.html) - Binds and accesses the list of items from local or server-side data source.
* [Custom values](https://ej2.syncfusion.com/demos/#/material/combo-box/custom-value.html) - Sets user-defined values that is not in the pop-up list.
* [Grouping](https://ej2.syncfusion.com/demos/#/material/combo-box/grouping-icon.html) - Groups the logically related items under a single or specific category.
* [Sorting](https://ej2.syncfusion.com/documentation/api/combo-box#sortorder) - Sorts the list items in alphabetical order (either ascending or descending).
* [Filtering](https://ej2.syncfusion.com/demos/#/material/combo-box/filtering.html) - Filters the list items based on a character typed in the component.
* [Templates](https://ej2.syncfusion.com/demos/#/material/combo-box/template.html) - Customizes the list items, selected value, header, footer, category group header, and no records content.
* [Accessibility](https://ej2.syncfusion.com/documentation/combo-box/accessibility) - Provided with built-in accessibility support that helps to access all the ComboBox component features using the keyboard, screen readers, or other assistive technology devices.

### JavaScript AutoComplete

The [JavaScript AutoComplete](https://www.syncfusion.com/javascript-ui-controls/js-autocomplete?utm_source=npm&utm_medium=listing&utm_campaign=javascript-dropdown-npm) control is a textbox control that provides a list of suggestions to select from as the user types. It has several out-of-the-box features such as data binding, filtering, grouping, UI customization, accessibility, and more.

<p align="center">
    <a href="https://ej2.syncfusion.com/documentation/auto-complete/getting-started/?utm_source=npm&utm_medium=listing&utm_campaign=javascript-dropdown-npm">Getting Started</a>.
    <a href="https://ej2.syncfusion.com/demos/?utm_source=npm&utm_medium=listing&utm_campaign=javascript-dropdown-npm#/material/auto-complete/default.html">Online demos</a>.
    <a href="https://www.syncfusion.com/javascript-ui-controls/js-autocomplete?utm_source=npm&utm_medium=listing&utm_campaign=javascript-dropdown-npm">Learn more</a>.
</p>

<p align="center">
<img alt="JavaScript AutoComplete Control" src="https://raw.githubusercontent.com/SyncfusionExamples/nuget-img/master/javascript/javascript-autocomplete.png">
</p>

#### Key features

* [Data binding](https://ej2.syncfusion.com/demos/#/material/auto-complete/data-binding.html) - Binds and accesses the list of items from local or server-side data source.
* [Grouping](https://ej2.syncfusion.com/demos/#/material/auto-complete/grouping-icon.html) - Groups the logically related items under a single or specific category.
* [Sorting](https://ej2.syncfusion.com/documentation/api/auto-complete#sortorder) - Sorts the list items in alphabetical order (either ascending or descending).
* [Highlight search](https://ej2.syncfusion.com/demos/#/material/auto-complete/highlight.html) - Highlights the typed text in the suggestion list.
* [Templates](https://ej2.syncfusion.com/demos/#/material/auto-complete/template.html) - Customizes the list item, header, footer, category group header, no records, and action failure content.
* [Accessibility](https://ej2.syncfusion.com/documentation/auto-complete/accessibility) - Provided with built-in accessibility support that helps to access all the AutoComplete component features using keyboard, on-screen readers, or other assistive technology devices.

### JavaScript MultiSelect

The [JavaScript MultiSelect Dropdown](https://www.syncfusion.com/javascript-ui-controls/js-multiselect-dropdown?utm_source=npm&utm_medium=listing&utm_campaign=javascript-dropdown-npm) control is a quick replacement for the HTML select tag for selecting multiple values. HTML MultiSelect Dropdown is a textbox control that allows the user to type or select multiple values from a list of predefined options.

<p align="center">
    <a href="https://ej2.syncfusion.com/documentation/multi-select/getting-started/?utm_source=npm&utm_medium=listing&utm_campaign=javascript-dropdown-npm">Getting Started</a> .
    <a href="https://ej2.syncfusion.com/demos/?utm_source=npm&utm_medium=listing&utm_campaign=javascript-dropdown-npm#/material/multi-select/default.html">Online demos</a> .
    <a href="https://www.syncfusion.com/javascript-ui-controls/js-multiselect-dropdown?utm_source=npm&utm_medium=listing&utm_campaign=javascript-dropdown-npm">Learn more</a>
</p>

<p align="center">
<img alt="JavaScript MultiSelect Dropdown Control" src="https://raw.githubusercontent.com/SyncfusionExamples/nuget-img/master/javascript/javascript-multiselect.png">
</p>

#### Key features

* [Data binding](https://ej2.syncfusion.com/demos/#/material/multi-select/data-binding.html) - Binds and accesses the list of items from local or server-side data source.
* [Grouping](https://ej2.syncfusion.com/demos/#/material/multi-select/grouping-icon.html) - Groups the logically related items under a single or specific category.
* [Templates](https://ej2.syncfusion.com/demos/#/material/multi-select/template.html) - Customizes the list items, selected value, header, footer, category group header, and     no records content.
* [Sorting](https://ej2.syncfusion.com/documentation/api/multi-select#sortorder) - Sorts the list items in alphabetical order (either ascending or descending).
* [Filtering](https://ej2.syncfusion.com/demos/#/material/multi-select/filtering.html) - Filters the list items based on a character typed in the search box.
* [Custom value](https://ej2.syncfusion.com/demos/#/material/multi-select/custom-value.html) - Allows users to select a new custom value.
* [Accessibility](https://ej2.syncfusion.com/documentation/multi-select/accessibility) - Provided with built-in accessibility support that helps to access all the DropDownList component features using the keyboard, screen readers, or other assistive technology devices.

### JavaScript ListBox

The [JavaScript ListBox](https://www.syncfusion.com/javascript-ui-controls/js-listbox?utm_source=npm&utm_medium=listing&utm_campaign=javascript-dropdown-npm) control is a graphical user interface for displaying a list of items with multi-selection options. It has a rich appearance and allows users to select one or more items from the list using checkboxes or keyboard interactions.

<p align="center">
    <a href="https://ej2.syncfusion.com/documentation/list-box/getting-started/?utm_source=npm&utm_medium=listing&utm_campaign=javascript-dropdown-npm">Getting Started</a> .
    <a href="https://ej2.syncfusion.com/demos/?utm_source=npm&utm_medium=listing&utm_campaign=javascript-dropdown-npm#/material/list-box/default.html">Online demos</a> .
    <a href="https://www.syncfusion.com/javascript-ui-controls/js-listbox?utm_source=npm&utm_medium=listing&utm_campaign=javascript-dropdown-npm">Learn more</a>
</p>

<p align="center">
<img alt="JavaScript ListBox Control" src="https://raw.githubusercontent.com/SyncfusionExamples/nuget-img/master/javascript/javascript-listbox.png">
</p>

#### Key features

* [Data binding](https://ej2.syncfusion.com/documentation/list-box/data-binding/) - Binds and accesses the list of items from local or server-side data source.
* [Dual listbox](https://ej2.syncfusion.com/demos/?utm_source=npm&utm_medium=listing&utm_campaign=javascript-dropdown-npm#/material/list-box/dual-list-box.html) - Allows transferring and reordering the list item between two ListBoxes.
* [Drag and drop](https://ej2.syncfusion.com/demos/?utm_source=npm&utm_medium=listing&utm_campaign=javascript-dropdown-npm#/material/list-box/drag-and-drop.html) - Allows drag and drop the list item with the same/multiple ListBox.
* [Grouping](https://ej2.syncfusion.com/documentation/list-box/sorting-and-grouping/#grouping) - Groups the logically related items under a single or specific category.
* [Templates](https://ej2.syncfusion.com/demos/?utm_source=npm&utm_medium=listing&utm_campaign=javascript-dropdown-npm#/material/list-box/template.html) - Customizes the list items.
* [Sorting](https://ej2.syncfusion.com/documentation/list-box/sorting-and-grouping/) - Sorts the list items in alphabetical order (either ascending or descending).
* [Accessibility](https://ej2.syncfusion.com/documentation/list-box/accessibility/) - Provided with built-in accessibility support that helps to access all the ListBox component features using the keyboard, screen readers, or other assistive technology devices.

<p align="center">
Trusted by the world's leading companies
  <a href="https://www.syncfusion.com/">
    <img src="https://raw.githubusercontent.com/SyncfusionExamples/nuget-img/master/syncfusion/syncfusion-trusted-companies.webp" alt="Syncfusion logo">
  </a>
</p>

## Setup

To install `dropdowns` and its dependent packages, use the following command,

```
npm install @syncfusion/ej2-dropdowns
```

## Supported frameworks

DropDown controls are also offered to following list of frameworks.

| [<img src="https://ej2.syncfusion.com/github/images/angular-new.svg" height="50" />](https://www.syncfusion.com/angular-ui-components?utm_medium=listing&utm_source=github)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Angular](https://www.syncfusion.com/angular-ui-components?utm_medium=listing&utm_source=github)&nbsp;&nbsp;&nbsp;&nbsp; | [<img src="https://ej2.syncfusion.com/github/images/react.svg"  height="50" />](https://www.syncfusion.com/react-ui-components?utm_medium=listing&utm_source=github)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[React](https://www.syncfusion.com/react-ui-components?utm_medium=listing&utm_source=github)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | [<img src="https://ej2.syncfusion.com/github/images/vue.svg" height="50" />](https://www.syncfusion.com/vue-ui-components?utm_medium=listing&utm_source=github)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Vue](https://www.syncfusion.com/vue-ui-components?utm_medium=listing&utm_source=github)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | [<img src="https://ej2.syncfusion.com/github/images/netcore.svg" height="50" />](https://www.syncfusion.com/aspnet-core-ui-controls?utm_medium=listing&utm_source=github)<br/>&nbsp;&nbsp;[ASP.NET&nbsp;Core](https://www.syncfusion.com/aspnet-core-ui-controls?utm_medium=listing&utm_source=github)&nbsp;&nbsp; | [<img src="https://ej2.syncfusion.com/github/images/netmvc.svg" height="50" />](https://www.syncfusion.com/aspnet-mvc-ui-controls?utm_medium=listing&utm_source=github)<br/>&nbsp;&nbsp;[ASP.NET&nbsp;MVC](https://www.syncfusion.com/aspnet-mvc-ui-controls?utm_medium=listing&utm_source=github)&nbsp;&nbsp; | 
| :-----: | :-----: | :-----: | :-----: | :-----: |

## Showcase samples

* Expanse Tracker - [Source](https://github.com/syncfusion/ej2-showcase-ts-expensetracker), [Live Demo](https://ej2.syncfusion.com/showcase/typescript/expensetracker/?utm_source=npm&utm_campaign=dropdown#/dashboard)
* Loan Calculator - [Source](https://github.com/syncfusion/ej2-showcase-ts-loancalculator), [Live Demo](https://ej2.syncfusion.com/showcase/typescript/loancalculator/?utm_source=npm&utm_campaign=dropdwonlist#/default)
* Web Mail - [Source](https://github.com/syncfusion/ej2-showcase-ts-webmail), [Live Demo](https://ej2.syncfusion.com/showcase/typescript/webmail/#/home)

## Support

Product support is available through following mediums.

* [Support ticket](https://support.syncfusion.com/support/tickets/create) - Guaranteed Response in 24 hours | Unlimited tickets | Holiday support
* [Community forum](https://www.syncfusion.com/forums/essential-js2?utm_source=npm&utm_medium=listing&utm_campaign=javascript-dropdown-npm)
* [GitHub issues](https://github.com/syncfusion/ej2-javascript-ui-controls/issues/new)
* [Request feature or report bug](https://www.syncfusion.com/feedback/javascript?utm_source=npm&utm_medium=listing&utm_campaign=javascript-dropdown-npm)
* Live chat

## Change log

Check the changelog [here](https://github.com/syncfusion/ej2-javascript-ui-controls/blob/master/controls/dropdowns/CHANGELOG.md). Get minor improvements and bug fixes every week to stay up to date with frequent updates.
 
## License and copyright

> This is a commercial product and requires a paid license for possession or use. Syncfusion’s licensed software, including this component, is subject to the terms and conditions of Syncfusion's [EULA](https://www.syncfusion.com/eula/es/). To acquire a license for 80+ [JavaScript UI controls](https://www.syncfusion.com/javascript-ui-controls), you can [purchase](https://www.syncfusion.com/sales/products) or [start a free 30-day trial](https://www.syncfusion.com/account/manage-trials/start-trials).

> A [free community license](https://www.syncfusion.com/products/communitylicense) is also available for companies and individuals whose organizations have less than $1 million USD in annual gross revenue and five or fewer developers.

See [LICENSE FILE](https://github.com/syncfusion/ej2/blob/master/license?utm_source=npm&utm_campaign=dropdown) for more info.

© Copyright 2025 Syncfusion<sup>®</sup> Inc. All Rights Reserved. The Syncfusion<sup>®</sup> Essential Studio<sup>®</sup> license and copyright applies to this distribution.
