2017-03-10 7 views
1

単純なオートコンプリートボックスをMVCメソッドに接続します。私は以下を作成しましたが、nameのパラメータはnullであり、戻り値のデータをハードコーディングしていますが、オートコンプリートではデータは表示されません。剣道UIオートコンプリートを動作させる方法を見つけることができません

剣道のドキュメントはまったく役に立たない。誰か私に簡単な実例を教えてもらえますか?

var catNamesDatasource = new kendo.data.DataSource({ 
    transport: { 
     read: { 
      url: "/Cats/GetCats", 
      type: "POST", 
      dataType: "json" 
     } 
    }, 
    schema: { 
     model: { 
      id: "catCode", 
      fields: { 
       id: { type: "catCode" }, 
       name: { type: "string" } 
      } 
     } 
    } 
}); 

var autoComplete = $("#txtCatSearch").kendoAutoComplete({ 
    minLength: 3, 
    separator: ", ", 
    dataSource: catNamesDatasource, 
    serverFiltering: true, 
    dataTextField: "name" 
}).data("kendoAutoComplete"); 

私のMVCの方法は次のとおりです。

[HttpPost] 
public ActionResult GetCats(string name) 
{ 
    var cats = Enumerable.Range(0, 0).Select(e => new { catCode = "C1", name = "Mittens" }).ToList(); 
    clients.Add(new { catCode = "C2", name = "Fluffywuffy" }); 

    return Json(cats); 
} 
+0

...助けしかし:あなたのMVCアクションメソッドが呼び出されます? 2つ目は、Enumerable.Range(0,0)は0レコードを返します(ただし、この例ではtypoとします)。また、serverFilteringプロパティはdataSource内にある必要があります。[こちらのように](http://demos.telerik.com/kendo-ui/autocomplete/serverfiltering)。 – Ademar

+0

@NibblyPig下の新しい回答をご覧ください。 –

答えて

0

はこれを試してみてください:

<input id="test" /> 
<div id="value"></div> 

<script> 
    $("#test").kendoAutoComplete({ 
     dataSource: ["orange", "red", "blue", "green"], 
     change: function(e) { 
      var value = e.sender.value(); 
      console.log("change", value); 
      $("#value").text(value); 
     } 
    }); 
</script> 

希望これは複製によくハード

関連する問題