【发布时间】:2014-05-08 19:31:11
【问题描述】:
我有一个从数据源填写的下拉列表。在特定事件之后,我想使用id = 22 从我的下拉列表中删除一项。 (我知道这很奇怪且硬编码,但留给新手的时间不多)。那可能吗?我该怎么做?
【问题讨论】:
标签: javascript angularjs kendo-ui kendo-dropdown kendo-datasource
我有一个从数据源填写的下拉列表。在特定事件之后,我想使用id = 22 从我的下拉列表中删除一项。 (我知道这很奇怪且硬编码,但留给新手的时间不多)。那可能吗?我该怎么做?
【问题讨论】:
标签: javascript angularjs kendo-ui kendo-dropdown kendo-datasource
这是使用 Kendo 数据源删除方法完成任务的一种快速而肮脏的方法。它假定您的下拉列表绑定到包含名为“id”的属性的对象。如果您使用的是标准文本/值键值对对象,请将 if 语句替换为 if (item.Value == 22)。
var dropdown = $('#dropDownId').data("kendoDropDownList");
var raw = dropdown.dataSource.data();
var length = raw.length;
var item, i;
for(i=length-1; i>=0; i--){
item = raw[i];
if (item.id == 22) {
dataSource.remove(item);
break;
}
}
来源:http://blogs.telerik.com/kendoui/posts/13-01-29/adding_and_removing_items_in_kendo_data_datasource
【讨论】:
您可以访问此项目的父项,然后将其作为父项的子项删除:
document.getElementById("22").parentNode.removeChild(document.getElementById("22"));
getElementById("22") 得到一个 id 为“22”的元素
parentNode 是元素的父元素。在您的情况下,它是下拉菜单
removeChild(document.getElementById("22")) 从其专利中删除指定的子项。在您的情况下,一个 id 为“22”的元素。
【讨论】: