AutoComplete Overview
The AutoComplete is part of Telerik UI for ASP.NET MVC, a
professional grade UI library with 110+ components for building modern and feature-rich applications. To try it out sign up for a free 30-day trial.
The Telerik UI AutoComplete HtmlHelper for ASP.NET MVC is a server-side wrapper for the Kendo UI AutoComplete widget.
The AutoComplete provides suggestions depending on the typed text and allows multiple value entries.
Initializing the AutoComplete
The following example demonstrates how to define the AutoComplete.
@(Html.Kendo().AutoComplete()
.Name("autocomplete")
.DataTextField("ProductName")
.Filter("contains")
.DataSource(source =>
{
source.Read(read =>
{
read.Action("Products_Read", "AutoComplete")
.Data("onAdditionalData");
})
.ServerFiltering(true);
})
)
<script type="text/javascript">
function onAdditionalData() {
return {
text: $("#autocomplete").val()
};
}
</script>
public class AutoCompleteController : Controller
{
public IActionResult Index()
{
return View();
}
public JsonResult Products_Read(string text)
{
var result = GetProducts();
if (!string.IsNullOrEmpty(text))
{
result = result.Where(p => p.ProductName.Contains(text)).ToList();
}
return Json(result);
}
private static IEnumerable<ProductViewModel> GetProducts()
{
var result = Enumerable.Range(0, 50).Select(i => new ProductViewModel
{
ProductID = "" + i,
ProductName = "Product " + i
});
return result;
}
}
Basic Configuration
The following example demonstrates the basic configuration of the AutoComplete.
@(Html.Kendo().AutoComplete()
.Name("autocomplete")
.DataTextField("ProductName")
.Placeholder("Type a product name")
.Template("#= ProductID # | For: #= ProductName #")
.HeaderTemplate("<div class=\"dropdown-header k-widget k-header\">" +
"<span>Products</span>" +
"</div>")
.FooterTemplate("Total <strong>#: instance.dataSource.total() #</strong> items found")
.Filter("contains")
.MinLength(3)
.HtmlAttributes(new { style = "width:100%" })
.Height(520)
.DataSource(source =>
{
source.Read(read =>
{
read.Action("Products_Read", "Home")
.Data("onAdditionalData");
})
.ServerFiltering(true);
})
)
<script type="text/javascript">
function onAdditionalData() {
return {
text: $("#autocomplete").val()
};
}
</script>
Functionality and Features
Events
For a complete example on basic AutoComplete events, refer to the demo on using the events of the AutoComplete.
Referencing Existing Instances
To reference an existing AutoComplete instance, use the jQuery.data()
configuration option. Once a reference is established, use the AutoComplete client-side API to control its behavior.
// Place the following after your Telerik UI AutoComplete for ASP.NET MVC declaration.
<script>
$(document).ready(function() {
// The Name() of the AutoComplete is used to get its client-side instance.
var autocomplete = $("#autocomplete").data("kendoAutoComplete");
});
</script>