我有3个kendo下拉列表,它共享相同的数据源。我要求从下拉列表中的一个删除特定选项(例如第一个(< - Select - >)),但保留其他两个选项。我尝试使用
删除该选项$(dropDownListObject)。数据( “kendoDropDownList”)dataSource.remove(itemToRemove)
方法,但这从所有下拉列表中删除了该选项。我怎样才能达到这个目的?
Data Source :
-------------------
var data = [
{Code: "<--Select-->", value:"-1"},
{Code: "Option 1", value:"1"},
{Code: "Option 1", value:"2"},
{Code: "Option 1", value:"3"},
{Code: "Option 1", value:"4"},
];
Snippet where I am trying to remove the option :
-------------------------------------------------------
root.find('.dropdown').each(function (index, item) {
var dropdown = $(item).data("kendoDropDownList");
if (dropdown) {
if ((dropdown.element.attr('removeOption') == "true")) {
$('#'+dropdown.element.attr('id') + 'option[value="-1"]').each(function () {
var itemToRemove = $(item).data("kendoDropDownList").dataSource.at(0);
$(item).data("kendoDropDownList").dataSource.remove(itemToRemove);
});
}
}
});
答案 0 :(得分:0)
由于克隆是一种选择,我建议创建3个不同的dataSource
。这样,所有后面的数据都将是独立的,您不必担心共享数据源中可能发生的任何其他数据操作(例如:过滤或排序)
var data = [
{Code: "<--Select-->", value:"-1"},
{Code: "Option 1", value:"1"},
{Code: "Option 1", value:"2"},
{Code: "Option 1", value:"3"},
{Code: "Option 1", value:"4"},
];
var dataClone = jQuery.extend(true, {}, data);
//Create your dataSource with dataClone instead of data