我正在使用kendoUI自动完成。以“x”标记显示每个盒子格式的记录我已经实现了
$("#roleAuto").kendoAutoComplete({
dataSource: roledata,
filter: "startswith",
placeholder: "Select Role...",
select: function (e, ui) {
alert("hi");
$(".roleSelection:checked").each(function () {
var role = $(this).attr("data-name"),
var span = $("<span>").text(role),
a = $("<a>").addClass("remove").attr({
title: "Remove " + role
}).text("x").appendTo(span);
alert(role);
span.insertBefore("#roleAuto");
$("#Roles").click(function () {
$("#roleAuto").focus();
});
$(".remove", document.getElementById("Roles")).live("click", function () {
$(this).parent().remove();
if ($("#Roles span").length === 0) {
$("#roleAuto").css("top", 0);
}
});
});
我可以用“x”符号显示框中的每条记录。如果我点击“x”标记我可以删除记录,我想要删除项目ID值,你能告诉我怎么样得到这个。
答案 0 :(得分:1)
有一种自动完成方法(以及许多其他数据绑定小部件):
kendo.ui.widget.dataItem(索引);
该事件的方法叫做:
event.item.index();
自动完成方法的文档:AutoComplete Documentation
所以,作为select函数的第一行,你可以写:
var dataItem = this.dataItem(e.item.index());
点击事件的实时方法如下所示:
$(".remove", document.getElementById("Roles")).live("click", function () {
alert(dataItem.Id); //Or in whichever property your Id is stored.
$(this).parent().remove();
if ($("#Roles span").length === 0) {
$("#roleAuto").css("top", 0);
}
});