Kendo-UI自动完成无法加载

时间:2016-04-14 16:02:18

标签: kendo-ui

我遇到了无法访问数据源的问题。 webservice执行它的查询,firebug显示返回字符串,但我没有获得自动完成列表的功能。

    $("#txtCriteria").kendoAutoComplete({
    minLength: 1,
    suggest: true,
    filter: "startswith",
    dataTextField: "ACName",
    select: function (e) {
      var  dataItem = this.dataItem(e.item.index());
        //output selected dataItem
        document.getElementsByName("hdfldSelect")[0].value = dataItem.ACCode;
        $("#txtCriteria").kendoAutoComplete();
        var autocomplete = $("#txtCriteria").data("kendoAutoComplete");
        autocomplete.destroy();
    },
    dataSource: new kendo.data.DataSource({
        serverFiltering: true,
        transport: {
            read: {
                url: "../DAL/Reports/wsReports.asmx/AutoComplete",
                dataType: "json",
                type: "GET",
            },
            parameterMap: function (data, action) {
                var newParams = {
                    Type: Type,
                    filter: data.filter.filters[0].value
                };//var
                return newParams;
            },//parameter
        }//trans2
    })//data
});

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

如果你的端点返回了预期的数据集,你可以尝试在你的kendo-datasource中添加一个'schema'。

dataSource: new kendo.data.DataSource({
                    schema: {
                        data: function (e) {
                            return e.Results
                        },
                        model: {
                            fields: {
                                Id: { type: "number" },
                                Name: { type: "string" }
                            }
                        }
                    },
                    serverFiltering: true,
                    transport: {
                        read: {
                            url: "../DAL/Reports/wsReports.asmx/AutoComplete",
                            dataType: "json",
                            type: "GET",
                        },
                        parameterMap: function (data, action) {
                            var newParams = {
                                Type: Type,
                                filter: data.filter.filters[0].value
                            };//var
                            return newParams;
                        },//parameter
                    }//trans2
                })//data