Hi, I have a kendo dropdownlist which offers the option to remove items with a link. I used Template/ValueTemplate to achieve this.
@(Html.Kendo().DropDownList()
.HtmlAttributes(new { @class = "form-control" })
.Name("dataSelect")
.DataTextField("Text")
.DataValueField("Value")
.Template("<span class=\"k-state-default mr-auto\">#:data.Text#</span><a href=\"\" onclick=\"deleteItem(#:data.Value#)\">Delete</a>")
.ValueTemplate("<span class=\"mr-auto\">#:data.Text#</span><a href=\"\" onclick=\"deleteItem(#:data.Value#)\">Delete</a>")
.DataSource(ds => ds
.Read(read => read
.Url("/Data?handler=ReadData").Data("getForgeryToken")
)))
function deleteItem(itemId) {
var data = $.extend(true, {}, kendo.antiForgeryTokens(), {});
$.ajax({
type: "POST",
url: "/Data?handler=DeleteItem",
headers:
{
"RequestVerificationToken": data.__RequestVerificationToken
},
data: {
itemId: itemId,
},
success: function (response) {
$('#dataSelect').data("kendoDropDownList").dataSource.read();
},
failure: function (response) {
}
});
}