2010-08-16 425 views
4

我正在通过jQuery ajax在div容器中加载搜索结果。我希望在用户输入文本框中至少3个字母/字符进行搜索后,延迟2秒后向用户显示结果。我将如何做到这一点?在jQuery中延迟加载数据2秒ajax

jQuery代码:

$(".bsearch").keydown(function() { 
    //create post data 
    var postData = { 
    "search" : $(this).val() 
    }; 

    //make the call 
    $.ajax({ 
    type: "POST", 
    url: "quotes_in.php", 
    data: postData, 
    success: function(response){ 
     $("#left").html(response);      
     $("div#smore").hide(); 
    } 
    }); 

回答

11

使用此功能:

setTimeout(function() { 
    $('#left').html(response); 
}, 2000); 
+0

谢谢,以及如果我想在用户键入前3个字母后显示数据呢? ($('input').val()。trim().length> 3){ – input 2010-08-16 22:00:19

+0

make_ajax_request(); } – 2013-04-03 16:00:08

0

使用此功能

function ajax_delay(str){ 
setTimeout("str",2000); 
} 

结果将

$.ajax({ 
    type: "POST", 
    url: "quotes_in.php", 
    data: postData, 
    success: function(response){ 

     ajax_delay($('#left').html(response)); 
$("div#smore").hide(); 
    } 
    }); 

希望这可以帮到你