asp.net mvc アプリケーションで Kendo UI オートコンプリートを使用しています。Kendo オートコンプリートは、サーバー リクエストをオーバー ヘッドする各キー ストロークでサーバー メソッドをコールバックします。オートコンプリートを使用してサーバーに手動でコールバックし、データ ソースを取得する方法はありますか。
私のコードは以下の通りです
@(Html.Kendo().AutoComplete()
.Name("patientSearch")
.DataTextField("patientSearch")
.MinLength(2)
.Placeholder("Search by Lastname, Firstname or DOB")
.HtmlAttributes(new { id = "textPatientSearch" })
.Template("<B>${data.LastName}, ${data.FirstName} </B> - ${ kendo.toString(kendo.parseDate(data.DateOfBirth),'MM/dd/yyyy') } ")
.DataSource(source =>
{
source.Read(read =>
{
read.Action("GetFilteredPatient", "Order").Data("onAdditionalData");
})
.ServerFiltering(true);
}))
ユーザーが入力をやめたことを確認するためのjqueryソリューションを見つけました。コードは次のとおりです。
$(function(){
//setup before functions
var typingTimer; //timer identifier
var doneTypingInterval = 2000; //time in 3 ms
//on keyup, start the countdown
$('#textPatientSearch').keyup(function(e){
clearTimeout(typingTimer);
typingTimer = setTimeout(doneTyping, doneTypingInterval);
});
//on keydown, clear the countdown
$('#textPatientSearch').keydown(function(){
clearTimeout(typingTimer);
});
//user is "finished typing," do something
function doneTyping () {
**//WHAT TO DO HERE**
}
});
doneTyping 関数でオートコンプリートを手動でサーバー フィルター処理する方法がわかりません。助けてください。