Your search did not match any results.

The Accordion widget contains several panels displayed one under another. These panels can be collapsed or expanded by a user, which makes this widget very useful for presenting information in a limited amount of space.

Copy to CodePen
$(function(){ DevExpress.ui.setTemplateEngine("underscore"); var tagBox = $("#tagbox").dxTagBox({ dataSource: accordionItems, displayExpr: "CompanyName", disabled: true, value: [accordionItems[0]], onValueChanged: function(e) { accordion.option("selectedItems", e.value); } }).dxTagBox("instance"); var accordion = $("#accordion-container").dxAccordion({ dataSource: accordionItems, animationDuration: 300, collapsible: false, multiple: false, selectedItems: [accordionItems[0]], itemTitleTemplate: $("#title"), itemTemplate: $("#customer"), onSelectionChanged: function(e) { tagBox.option("value", e.component.option("selectedItems")); } }).dxAccordion("instance"); $("#slider").dxSlider({ min: 0, max: 1000, value: 300, label: { visible: true}, tooltip: { enabled: true, position: "bottom" }, onValueChanged: function(e) { accordion.option("animationDuration", e.value); } }); $("#multiple-enabled").dxCheckBox({ text: "Multiple enabled", onValueChanged: function(e) { accordion.option("multiple", e.value); tagBox.option("disabled", !e.value); tagBox.option("value", accordion.option("selectedItems")); } }); $("#collapsible-enabled").dxCheckBox({ text: "Collapsible enabled", onValueChanged: function(e) { accordion.option("collapsible", e.value); } }); });
<!DOCTYPE html> <html xmlns=""> <head> <title>DevExtreme Demo</title> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" /> <script src="js/jquery-3.1.0.min.js"></script> <link rel="stylesheet" type="text/css" href="" /> <link rel="stylesheet" type="text/css" href="" /> <link rel="dx-theme" data-theme="generic.light" href="" /> <script src=""></script> <script src="js/underscore-1.5.1.min.js"></script> <script src="data.js"></script> <link rel="stylesheet" type ="text/css" href ="styles.css" /> <script src="index.js"></script> </head> <body class="dx-viewport"> <div class="demo-container"> <div id="accordion"> <div id="accordion-container"> </div> <div class="selected-data"> <span class="caption">Selected Items</span> <div id="tagbox"></div> </div> <div class="options"> <div class="caption">Options</div> <div class="option"> <div id="multiple-enabled"></div> </div> <div class="option"> <div id="collapsible-enabled"></div> </div> <div class="option"> <span>Animation duration</span> <div id="slider"></div> </div> </div> </div> <script type="text/html" id="title"> <h1><%= CompanyName%></h1> </script> <script type="text/html" id="customer"> <div class="accodion-item"> <div> <p> <b><%= City%></b> (<span><%= State%></span>) </p> <p> <span><%= Zipcode%></span> <span><%= Address%></span> </p> </div> <div> <p> Phone: <b><%= Phone%></b> </p> <p> Fax: <b><%= Fax%></b> </p> <p> Website: <a href="<%= Website%>" target="_blank"> <%= Website%> </a> </p> </div> </div> </script> </div> </body> </html>
#accordion h1 { font-size: 20px; } .options, .selected-data { padding: 20px; background-color: rgba(191, 191, 191, 0.15); margin-top: 20px; } .selected-data { position: relative; height: 36px; } .selected-data > .caption { position: relative; top: 5px; margin-right: 10px; font-weight: bold; font-size: 115%; } .selected-data > .dx-widget { position: absolute; left: 140px; right: 20px; top: 20px; } .options > .caption { font-weight: 500; font-size: 18px; } .option { margin-top: 10px; }
var accordionItems = [{ "ID": 1, "CompanyName": "Super Mart of the West", "Address": "702 SW 8th Street", "City": "Bentonville", "State": "Arkansas", "Zipcode": 72716, "Phone": "(800) 555-2797", "Fax": "(800) 555-2171", "Website": "" }, { "ID": 2, "CompanyName": "Electronics Depot", "Address": "2455 Paces Ferry Road NW", "City": "Atlanta", "State": "Georgia", "Zipcode": 30339, "Phone": "(800) 595-3232", "Fax": "(800) 595-3231", "Website": "" }, { "ID": 3, "CompanyName": "K&S Music", "Address": "1000 Nicllet Mall", "City": "Minneapolis", "State": "Minnesota", "Zipcode": 55403, "Phone": "(612) 304-6073", "Fax": "(612) 304-6074", "Website": "" }, { "ID": 4, "CompanyName": "Tom's Club", "Address": "999 Lake Drive", "City": "Issaquah", "State": "Washington", "Zipcode": 98027, "Phone": "(800) 955-2292", "Fax": "(800) 955-2293", "Website": "" }];