Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如何以谷歌风格追加来自ajax调用的实时搜索结果?_Jquery_Ajax - Fatal编程技术网

Jquery 如何以谷歌风格追加来自ajax调用的实时搜索结果?

Jquery 如何以谷歌风格追加来自ajax调用的实时搜索结果?,jquery,ajax,Jquery,Ajax,我有一个Ajax live搜索函数,它可以成功地返回它需要返回的值。但我只需要列出谷歌或Youtube之类的搜索结果,我不知道该怎么做(这是我第一次使用实时搜索功能)。 因此,我需要像下面这样简单地返回值: 以下是我当前的索引页代码: <input type="text" value="" name="s" id="s" placeholder="Search"> <input type="submit" id="searchsubmit" value="Search" cl

我有一个Ajax live搜索函数,它可以成功地返回它需要返回的值。但我只需要列出谷歌或Youtube之类的搜索结果,我不知道该怎么做(这是我第一次使用实时搜索功能)。 因此,我需要像下面这样简单地返回值:

以下是我当前的索引页代码:

<input type="text" value="" name="s" id="s" placeholder="Search">
<input type="submit" id="searchsubmit" value="Search" class="prefix button">

<ul id="searchresults" class="searchresults"></ul>

    以下是我的ajax函数:

    $(document).ready(function() {
    
    $('#s').typeWatch({
        captureLength: 2,
        callback: function(value) {
    
           $.ajax({
             type : "post",
             dataType : "json",
             url : myAjax.ajaxurl,
             data : {action: "searchq", s : value},
             success: function(response) {
                if(response.type == "success") {
                   $.each(response.val,function(){
                      var li = $('<li/>').appendTo('#searchresults');
                      $('<a/>').text(this.post_title).attr('href',this.url).appendTo(li);       
                   });
                }
              },
              error: function(errorThrown) {
              }
          })
       }
    });//end typewatch event
    
    });
    
    $(文档).ready(函数(){
    $('s')。打字表({
    捕获长度:2,
    回调:函数(值){
    $.ajax({
    类型:“post”,
    数据类型:“json”,
    url:myAjax.ajaxurl,
    数据:{action:“searchq”,s:value},
    成功:功能(响应){
    如果(response.type==“success”){
    $.each(response.val,function(){
    var li=$(“
  • ”).appendTo(“#searchresults”); $('

    结果确实会出现在列表中,但与谷歌或youtube不同,在谷歌或youtube中,你可以用箭头键滚动浏览

    当我在第二个图像中单击输入表单时,我会在其上显示标准下拉列表,这正是我希望结果显示的方式(但这只显示我之前键入的内容)

    所以我的问题是,我如何在那里得到我的结果,或者创造它

    我希望这足够清楚,以了解我试图获得什么


    (我选择不包含php函数,因为它100%的工作方式与预期的一样)

    您希望将文本输入的“自动完成”属性设置为“关闭”,以禁止以前输入的文本出现在下拉列表中。例如:

    <input type="text" autocomplete="off">
    
    
    

    有关自动完成属性的评论,请参见。

    Google执行动态自动完成,而您创建一个
      列表并将其附加到div。请检查:不要将结果放入