-1

Jquery Autosuggest ドロップダウンがあります。機能は正常に動作しています。

ここで、表示ボックスを表示し続ける必要がある場所を右クリックまたはクリックしたときに必要です。自動提案検索にリンクがあるときに問題を見つけたからです。リンクをクリックする前にドロップダウン ボックスが閉じているため、リンクを開くことができません。

これまでの私のJSコードは次のとおりです。

$(document).ready(function(){
    $(".searchs").keyup(function()
    {
       var searchbox = $(this).val();
       var dataString = 'searchword='+ searchbox;
       if(searchbox=='')
       {
        $("#display").hide();
       }
       else
       {
          $.ajax({
              type: "POST",
              url: "searchs.php",
              data: dataString,
              cache: false,
              success: function(html)
              {
                 $("#display").html(html).show();
              }
           });
        }
       return false;
    }); 

        $(".searchs").blur(function(){
             $("#display").hide();
    });

    $(".searchs").focus(function(){
    var seachbox = $(searchbox).val();
    if(seachbox != '')
    {
       $("#display").show();
    }
    });
});

誰かがアイデアを持っていますか?

4

2 に答える 2

0

これは、オートコンプリートの結果リストを表示し続ける方法です: DEMO

$("#tags").autocomplete({
source: availableTags,

 close : function (event, ui) {
     val = $("#tags").val();
     $("#tags").autocomplete("search", val).focus();
    return false;  
  }
});
于 2012-12-03T06:01:24.363 に答える
0

ドロップダウン ボックスが閉じている理由は、「検索」クラスの選択を解除するたびに、ドロップダウン ボックスが非表示になるためです。これを修正するには、いくつかの異なることを試すことができます。

1: ドロップダウン ボックス (ID が「display」のボックス) を「searchs」クラスに配置します。それは次のようになります。

<div id = "display" class = "searchs"></div>

2:$(".searchs").blurイベントがトリガーされたら、実行する前に$("#display").hide();、新しいフォーカスが表示 div であるかどうかを確認します。

$(".searchs").blur(function(){
  if($("#display").blur(function(){ //<--- if the new focus is not the display div, then hide display
    $("#display").hide();
  }
});
于 2012-12-03T06:08:00.373 に答える