数据源未在kendo ui自动完成中刷新

时间:2013-02-26 06:42:48

标签: javascript kendo-ui

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

$("#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
} 

有人能告诉我如何清除该数据源中的旧数据的解决方案。

1 个答案:

答案 0 :(得分:3)

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

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