2

need some help before my brain explodes.. cant seem to understand what im doing wrong

have a quite simple autocomplete.

$(document).ready(function () {

    var data =new kendo.data.DataSource({
        serverFiltering: true,
        transport: {
            read: "data/output.txt" 
        }
    });
  $("#input").kendoAutoComplete({
            dataSource: data
      });
        });

But no matter how hard i try i dont get the result i want, just the list with one letter vertical..? I dont know how am the external file supposed to look? as now it just is:

"value1",
"value2",
"value3"
4

2 回答 2

0

发生这种情况是因为您的 dataSource 认为源是作为该文本文档内容的字符串,并且它为字符串中的每个字符创建一个项目。

要么使用像这里这样的本地绑定。

或者创建一个服务/操作,它将为您提供适当的 json、odata 或其他数据。包含符号的文本文件不是一个好主意。

于 2012-11-28T19:31:14.703 回答
0

您返回数据的方式不是最方便的。您应该尝试将其作为 JSON 数组返回:

[ 
    "text1",
    "text2",
    "text3"
]

但是,KendoUI 开发人员非常好,允许您在可以转换格式parse的地方定义一个函数。DataSource.schema

尝试使用如下DataSource定义:

var data = new kendo.data.DataSource({
    serverFiltering:true,
    transport      :{
        read:"data/output.txt"
    },
    schema         :{
        parse:function (a) {
            return JSON.parse("[" + a + "]");
        }
    }
});
于 2012-11-29T00:20:35.553 回答