2016-07-20 5 views
0

入力内でENTERキーが押されたときにブートストラップ・ドロップダウンを開きたいとします。入力時にEnterキーが押されたときにブートストラップ・プルダウンを開く

HTML:

<div class="top dropdown" id="search-bar"> 
    <span class="fa fa-search" id="search" data-toggle="dropdown"></span>     

    <input type="text" id="search" class="form-control" placeholder="Search" data-toggle="dropdown"/> 

    <ul class="dropdown-menu"> 
    <li> Something </li>     
    </ul> 
</div> <!--search bar --> 

JS:

$('input#search').keypress(function(e) { 
    if(e.keyCode == 13) { 
    $('input#search').dropdown(); 
    } 
}); 

問題は、私はちょうど入力の内側をクリックしたときにdata-toggle="dropdown"は、ドロップダウンをトリガーするということです。私はENTERでトリガーしたいだけです。

答えて

1

あなたのコードにいくつかの問題が見つかりました。間違ったIDの割り当てがあり

  • 、検索がスパンアイコン の両方のために、入力用のIDとして設定されています。

  • 入力に割り当てられた
    データトグル=ドロップダウン属性のため、入力クリックでドロップダウンが発生します。

    あなたのコードで言及した問題に基づいて

が代わりにこれを試してください:作品

<div class="top dropdown" id="search-bar"> 
     <span class="fa fa-search" id="btn-search" data-toggle="dropdown"></span> 

     <input type="text" id="search" class="form-control" autocomplete="off" placeholder="Search" /> 

     <ul class="dropdown-menu"> 
     <li> Something </li> 
     </ul> 
    </div> 
    <!--search bar --> 


     $('input#search').keypress(function(e) { 
     if (e.keyCode == 13) { 
     $('#btn-search').click(); 
     } 
    }); 
+0

おかげで、 – ALR

関連する問題