2

私の脳が爆発する前にいくつかの助けが必要です..私が間違っていることを理解できないようです

非常に単純なオートコンプリートがあります。

$(document).ready(function () {

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

しかし、どんなに一生懸命やっても、思い通りの結果が得られず、縦に1文字のリストだけが表示されます。外部ファイルがどのように表示されるのかわかりませんか?今のようにそれはちょうどです:

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

2 に答える 2

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 に答える
0

これは、dataSource がソースがそのテキスト ドキュメントのコンテンツである文字列であると考え、文字列内の文字ごとに 1 つのアイテムを作成するために発生しています。

hereのようなローカルバインディングを使用してください。

または、データを適切なjson、odataなどとして提供するサービス/アクションを作成します。シンボルを含むテキスト ファイルはお勧めできません。

于 2012-11-28T19:31:14.703 に答える