Telerik Kendo падащ списък за премахване на елемент

Имам падащ списък с кендо, чиито опции изглеждат по следния начин:

$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 все още води до премахнатия по-рано елемент.

може ли някой да ми помогне


person Simon Sondrup Kristensen    schedule 16.02.2016    source източник


Отговори (1)


Ако премахнете елемент директно от изходния обект (във вашия случай $scope.customerAddress), dropDownList няма да знае за тази промяна. Ако искате да премахнете елемент, това трябва да стане с помощта на функция за премахване:

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