Kendo AutoComplete ウィジェットに問題があります。
ユーザーが検索の最初の 2 文字を入力した後、データソースを照会しようとしています。サーバー (web api) で、これらの 2 つの文字を使用して検索を制限すると、すべてうまくいきます。つまり、検索を入力し続けると、サブセットが返され、正しく表示され、さらにフィルター処理されます。
ただし、新しい検索エントリを再入力すると、データソースに返されなくなったため、最初のクエリから取得したデータに固執します。
これを適切に行うにはどうすればよいですか?
ありがとう
ここに私のテストコードがあります:
public class AlbumsController : ApiController
{
HttpRequest _request = HttpContext.Current.Request;
// GET api/albums
public IEnumerable<Album> GetForAutoComplete()
{
string sw = _request["sw"] == null ? "" : _request["sw"].ToString();
var query = (from a in Albums.MyAlbums
where a.Title.ToLower().StartsWith(sw)
orderby a.Title
select a).ToArray();
return query;
}
クライアント上の私のJavaScriptは次のようなものです:
var dataSource = new kendo.data.DataSource({
transport: {
read: {
url: "/api/Albums/GetForAutoComplete",
data: {
sw: function () {
return $("#albumSearch").data("kendoAutoComplete").value();
}
}
}
}
});
$("#albumSearch").kendoAutoComplete({
dataSource: dataSource,
dataTextField: "Title",
minLength: 2,
placeholder: "type in here.."
});