New to Kendo UI for jQuery? Start a free 30-day trial
Define Virtual Configuration Declaratively in the ComboBox
Updated on Jun 9, 2025
Environment
| Product | Progress® Kendo UI® ComboBox for jQuery |
| Operating System | Windows 10 64bit |
| Visual Studio Version | Visual Studio 2017 |
| Preferred Language | JavaScript |
Description
How can I define the virtual configuration option of the Kendo UI ComboBox widget declaratively?
Solution
The following example demonstrates how to define the virtual option of the Kendo UI ComboBox widget by using the data-* attribute.
<div id="example">
<div class="demo-section k-header">
<h4>Search for shipping name</h4>
<input id="orders" style="width: 400px"
data-role="combobox"
data-bind="value: order, source: source"
data-text-field="ShipName"
data-value-field="OrderID"
data-filter="contains"
data-virtual="{itemHeight:26,valueMapper:orderValueMapper}"
data-height="520"
/>
</div>
<script>
$(document).ready(function() {
var model = kendo.observable({
order: "10548",
source: new kendo.data.DataSource({
type: "odata-v4",
transport: {
read: "https://demos.telerik.com/service/v2/odata/Orders"
},
schema: {
model: {
fields: {
OrderID: { type: "number" },
Freight: { type: "number" },
ShipName: { type: "string" },
OrderDate: { type: "date" },
ShipCity: { type: "string" }
}
}
},
pageSize: 80,
serverPaging: true,
serverFiltering: true
})
});
kendo.bind($(document.body), model);
});
function orderValueMapper(options) {
$.ajax({
url: "https://demos.telerik.com/service/v2/core/Orders/ValueMapper",
type: "GET",
data: convertValues(options.value),
success: function (data) {
options.success(data);
}
})
}
function convertValues(value) {
var data = {};
value = $.isArray(value) ? value : [value];
for (var idx = 0; idx < value.length; idx++) {
data["values[" + idx + "]"] = value[idx];
}
return data;
}
</script>
<style>
html {
overflow: hidden;
}
.demo-section {
width: 400px;
}
.demo-section h2 {
text-transform: uppercase;
font-size: 1.2em;
margin-bottom: 10px;
}
.order-id {
display: inline-block;
min-width: 60px;
}
</style>
</div>