Telerik 剑道下拉列表删除项目

Telerik Kendo dropdownlist remove item

本文关键字:删除项目 下拉列表 Telerik      更新时间:2023-09-26

我有一个剑道下拉列表,其选项如下所示:

$scope.addressDropdownOptions = {
    dataSource: $scope.customerAddress,
    dataTextField: "Address.PrId",
    dataValueField: "PrId",
    headerTemplate: '<div style="width:100%;">' +
            '<span style="padding-left:5px; font-weight:bold;">City</span>' +
            '<span style="padding-left:129px; font-weight:bold;">Address</span>' +
            '<span style="padding-left:107px; font-weight:bold;">Note</span>' +
            '</div>',
    valueTemplate: '<span>{{dataItem.Address.City}} </span>' +
                   '<span>{{dataItem.Address.Street}}</span>',
    template: '<div style="width:100%;">' +
                    '<div class="customerDropDown">{{dataItem.Address.City}}</div>' +
                    '<div class="customerDropDown">{{dataItem.Address.Street}}</div>' +
                    '<div class="customerDropDown">{{dataItem.Address.Note}}</div> </div>',
};

用户可以选择一个,然后点击一个按钮,该按钮应该从下拉列表中删除所选项目。

所以我正在执行以下操作:

$scope.customerAddress.splice(i, 1);
现在,下拉列表中的选定

项不再是一个选项,但是 - valueTemplate仍然显示已删除的项目。我希望这是$scope.customerAddress的第一个索引。

另一个问题是新列表中的第一个选项,无法选择。当我单击它时,valueTemplate仍然会导致先前删除的项目。

谁能帮我?

如果直接从源对象中删除项目(在本例中为 $scope.customerAddress (,则 dropDownList 将不知道该更改。 如果要删除项目,则必须使用数据源的删除函数来完成:

var ddl =  $("#color").data("kendoDropDownList");
var oldData = ddl.dataSource.data();
ddl.dataSource.remove(oldData[0]); //remove first item