2016-02-16 75 views
0

我有一個劍道下拉列表的選項如下所示:Telerik的劍道下拉列表中移除項目

$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仍會導致以前刪除的項目。

任何人都可以幫助我嗎?

回答

0

如果您直接從源對象中刪除項目(在您的案例中,$scope.customerAddress),dropDownList將不知道該更改。如果你想刪除一個項目,它必須使用dataSource的remove function

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