我有一個搜索表單,我試圖做動態類型。在提交時,我正在提交表單。但是我遇到了大數據集的問題。問題是每個表單提交總是返回一個結果,並且結果總是被插入到DOM中。例如,當我在鍵入時鍵入第4個字符時,它將提交表單並返回100個匹配結果。當輸入第5個字符時,它只返回2個結果。第五個字符的執行時間會比第四個字符快。所以最終發生的是它繪製DOM中的2個結果,然後第4個返回並將100個結果繪製到DOM中。取消以前的jquery表單提交
如果在提交後發生關鍵事件,有沒有辦法取消或忽略先前的表單發佈結果?這裏是形式和通過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