私は、動的なタイプをダウンしようとしている検索フォームを持っています。キーアップで私はフォームを提出しています。しかし、私は大きなデータセットの問題に取り組んでいます。問題は、各フォーム提出が常に結果を返し、結果が常にDOMに挿入されることです。たとえば、キーアップで4番目の文字を入力すると、フォームが送信され、100個の一致する結果が返されます。 5番目の文字を入力すると、2つの結果しか返されません。 5番目のキャラクタの実行時間は、4番目より速く戻ります。そこで起こったことは、DOMで2つの結果をペイントし、次に4番目の結果を返し、100個の結果をDOMにペイントすることです。前のJqueryフォームをキャンセルするキーアップで送信
送信後にキーアップイベントが発生した場合、前のフォーム投稿結果をキャンセルまたは無視する方法はありますか?こちらのフォームであると私はあなたがdebounce
機能を使用しての古典的なケースだと思うのjavascript
@using (Ajax.BeginForm(new AjaxOptions
{
HttpMethod = "get",
InsertionMode = InsertionMode.Replace,
UpdateTargetId = "Breweries"
}))
{
<input id="brewerySearchInput" class="form-control page-header-input" placeholder="Search" type="search" name="searchTerm" />
}
<script>
$("#brewerySearchInput").keyup(function() {
if ($(this).val().length >= 3 || $(this).val().length == 0) {
$('#form0').delay(200).submit();
}
});
</script>
魅力のように働いたBINGO!!ここで、次の人のために基づいて調整するコードです参照先の上記の答え – JoeyD