gpt4 book ai didi

jquery - Django 应用程序 - Ajax 在 2 个字符和 1 秒延迟后自动完成

转载 作者:太空宇宙 更新时间:2023-11-03 17:42:30 26 4
gpt4 key购买 nike

我的 Django 应用程序中有这段代码,用于创建简单的自动完成搜索建议框。如何将 Ajax 限制为至少 2 个字符,以及如何为 Ajax 添加 1 秒的延迟来执行搜索查询?

$(function(){

$('#search').keyup(function() {

$.ajax({
type: "POST",
url: "/search/",
data: {
'search_text' : $('#search').val(),
'csrfmiddlewaretoken' : $("input[name=csrfmiddlewaretoken]").val()
},
success: searchSuccess,
dataType: 'html'
});

});

});

function searchSuccess(data, textStatus, jqXHR)
{
$('#search-results').html(data);
}

最佳答案

假设#search可能是一个文本输入字段,您可以在ajax请求之前添加以下代码:

// get the value that the user has typed
var v = $(this).val();
// don\'t go on if less than 3 chars or
// some other key was pressed that did not change the data
if (v.length < 3 || v == $(this).data('prev-val')) return;
// set the old value as the new one
$(this).data('prev-val', v);
// now call ajax

根据问题中的评论,这不处理任何时间延迟。计时器可以轻松地用于触发 ajax 请求,并在设置新计时器之前取消任何先前的计时器。但这可能会无缘无故地让事情变得更加复杂。

关于jquery - Django 应用程序 - Ajax 在 2 个字符和 1 秒延迟后自动完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30314000/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com