DevExtreme jQuery/JS - Overview
The TagBox widget is an editor that allows an end user to select multiple items from a drop-down list.
The following code adds the TagBox to your page. The simplest configuration of the widget requires only a dataSource to be specified. In addition, you can specify the placeholder to be displayed when the TagBox is empty.
jQuery
HTML
JavaScript
<div id="tagBoxContainer"></div>
$(function() {
    $("#tagBoxContainer").dxTagBox({
        dataSource: [
            "HD Video Player",
            "SuperHD Video Player",
            "SuperPlasma 50",
            // ...
        ],
        placeholder: "Select products..."
    });
});Angular
HTML
TypeScript
<dx-tag-box
    [dataSource]="products"
    placeholder="Select products...">
</dx-tag-box>
import { DxTagBoxModule } from "devextreme-angular";
// ...
export class AppComponent {
    products = [
        "HD Video Player",
        "SuperHD Video Player",
        "SuperPlasma 50",
        // ...
    ];
}
@NgModule({
     imports: [
         // ...
         DxTagBoxModule
     ],
     // ...
 })Vue
<template>
    <DxTagBox
        :data-source="dataSource"
        placeholder="Select products..."
    />
</template>
<script>
import 'devextreme/dist/css/dx.common.css';
import 'devextreme/dist/css/dx.light.css';
import { DxTagBox } from 'devextreme-vue/tag-box';
export default {
    components: {
        DxTagBox
    },
    data() {
        return {
            dataSource: [
                'HD Video Player',
                'SuperHD Video Player',
                'SuperPlasma 50',
                // ...
            ]
        };
    }
}
</script>React
import React from 'react';
import 'devextreme/dist/css/dx.common.css';
import 'devextreme/dist/css/dx.light.css';
import { TagBox } from 'devextreme-react/tag-box';
const dataSource = [
    'HD Video Player',
    'SuperHD Video Player',
    'SuperPlasma 50',
    // ...
];
class App extends React.Component {
    render() {
        return (
            <TagBox
                dataSource={dataSource}
                placeholder="Select products..."
            />
        );
    }
}
export default App;If your data is an array of objects, specify:
- valueExpr
 The data field whose value will be written into the value option.
- displayExpr
 The data field whose value will be displayed in the drop-down list and in the input field of the widget.
jQuery
JavaScript
const tagBoxData = [
    { id: 1, country: "Afghanistan" },
    { id: 2, country: "Albania" },
    // ...
];
$(function() {
    $("#tagBoxContainer").dxTagBox({
        dataSource: tagBoxData,
        valueExpr: 'id',
        displayExpr: 'country'
    });
});Angular
HTML
TypeScript
<dx-tag-box
    [dataSource]="tagBoxData"
    valueExpr="id"
    displayExpr="country">
<dx-tag-box>
import { DxTagBoxModule } from "devextreme-angular";
// ...
export class AppComponent {
    tagBoxData = [
        { id: 1, country: "Afghanistan" },
        { id: 2, country: "Albania" },
        // ...
    ];
}
@NgModule({
     imports: [
         // ...
         DxTagBoxModule
     ],
     // ...
 })Vue
<template>
    <DxTagBox
        :data-source="tagBoxData"
        value-expr="id"
        display-expr="country"
    />
</template>
<script>
import 'devextreme/dist/css/dx.common.css';
import 'devextreme/dist/css/dx.light.css';
import { DxTagBox } from 'devextreme-vue/tag-box';
export default {
    components: {
        DxTagBox
    },
    data() {
        return {
            tagBoxData: [
                { id: 1, country: 'Afghanistan' },
                { id: 2, country: 'Albania' },
                // ...
            ]
        };
    }
}
</script>React
import React from 'react';
import 'devextreme/dist/css/dx.common.css';
import 'devextreme/dist/css/dx.light.css';
import { TagBox } from 'devextreme-react/tag-box';
const tagBoxData = [
    { id: 1, country: 'Afghanistan' },
    { id: 2, country: 'Albania' },
    // ...
];
class App extends React.Component {
    render() {
        return (
            <TagBox
                dataSource={tagBoxData}
                valueExpr="id"
                displayExpr="country"
            />
        );
    }
}
export default App;See Also
- Configure a Widget: Angular | Vue | React | jQuery | AngularJS | Knockout | ASP.NET MVC 5 | ASP.NET Core
- TagBox - Control the Behavior
- TagBox - Handle the Value Change Event
- TagBox - Customize Item Appearance
- TagBox - Configure Search Parameters
- TagBox - Create a User-Defined Item
- TagBox - Keyboard Support
- TagBox API Reference
        
            Feel free to share topic-related thoughts here.
If you have technical questions, please create a support ticket in the DevExpress Support Center.
    Thank you for the feedback!
If you have technical questions, please create a support ticket in the DevExpress Support Center.