晚安,我想知道在下面的代码中是否可以在ajax中插入此函数。我想只在用户完成输入2秒后提交搜索,替换“onkeyup”。
PS :这适用于Ajax Live Search。
function pesquisar(value) {
$("#results").show();
$.ajax({
type:'post',
url:'/classes/searchfetch.php',
data: {s:value},
success: function (data){
$("#results").html(data);
},
}); };
如果你能帮助我,我将非常感激。
答案 0 :(得分:1)
如果用户在2秒内继续,可以使用也会被取消的计时器
var timer;
$('input').keyup(function(){
// clear prior timeout
clearTimeout(timer);
// create new one
timer = setTimeout(pesquisar, 2000)
})
答案 1 :(得分:1)
为了在用户完成输入后开始搜索,我们可以在用户释放密钥时启动计时器,如果他预先设置了密钥则停止计时。如果这两个事件之间的差异超过2秒,我们的事件将被触发。假设您的输入ID为inp
var timer;
//Start a timer on keyup event
$('#inp').on('keyup', function () {
//add loading indicator
$('#results').html("<img src='loading.gif'>");
clearTimeout(timer); // clear timer
timer = setTimeout(pesquisar, 2000);
});
$('#inp').on('keydown', function () {
clearTimeout(timer); // clear timer if user pressed key again
});
/call ajax function when user finished typing
function pesquisar(value) {
$("#results").show();
$.ajax({
type:'post',
url:'/classes/searchfetch.php',
data: {s:value},
success: function (data){
$("#results").html(data);
},
}); };