我具有以下自动完成代码,它会加载数据并过滤结果。但是,当选择列表中的项目或单击“提交”按钮时,我想以... Product / Details / id导航到详细信息页面。如何从数据源获取ID?
<form id="Search" asp-action="Details" asp-controller="Product" method="post">
@(Html.Kendo().AutoComplete()
.Name("Product")
.DataTextField("ProductName")
.Filter("contains")
.Template("#= ID# - #= ProductName #")
.DataSource(source =>
{
source
.Read(read =>
{
read.Action("Search", "Product")
.Data("onAdditionalData");
})
.ServerFiltering(false);
})
)
<button type="submit">Submit</button>
</form>
尝试这样的事情(未测试):
$('#Product').data('kendoAutoComplete').on('change', function() {
let selectedItem = this.dataItem();
// Now you have all data on 'item' variable to use, e.g.:
let id = selectedItem.id;
});
在发布代码后,将其放置在<script></script>
标签之间。