2013-02-26 85 views
0

我正在使用kendo自动完成,因为我将数据绑定到远程数据源。每当我将数据绑定到kendo数据源时,它都不会清除或刷新数据源中的旧数据。下面是我使用数据源不会在kendo ui自动完成中刷新

$("#input3").kendoAutoComplete 
({ 
    dataSource:new kendo.data.DataSource({ 

     cache: false, 
     read:getPackage(document.getElementById('input3').value), 
     data:pkg 

    }), 
    select: function(e) { 
     var dataItem = this.dataItem(e.item.index()); 
    }, 
    filter: "startswith", 
    placeholder: "Select Package..." 
}); 

function getPackage(req) 
{ 
    $.ajax 
    ({ 
     url: 'BookingCity.asmx/GetAllCountryforPackage', 
     contentType: 'application/json; charset=utf-8', 
     type: 'POST', 
     dataType: 'json', 
     async: false, 
     cache: false, 
     data:"{'prefixText':'"+ req +"','id':'" + document.getElementById('cityName2').value+ "'}", 
     success: function(response) { 
      pkg=response.d 
     }, 

     error: function(xhr, status) { 
      alert(status) 
     } 

    });//ajax 
} 

谁能告诉我的解决方案,我怎样才能清除这些数据源的旧数据的代码。

回答

3

DataSource的data方法可用于设置数据。要将其设置为空,您需要传递一个空的JavaScript数组:

var autoComplete = $("#input3").data("kendoAutoComplete"); 
autoComplete.dataSource.data([]);