2016-08-07 7 views
0

ブートストラップのドロップダウンは実際にはulなので、実際にjQueryを使って機能に "接続"する方法は混乱しています。jQueryを使用してイベントハンドラにブートストラッププルダウンをフックアップするにはどうすればよいですか?

たとえば、送信ボタンをクリックすると、現在選択されているドロップダウンアイテムによって異なるものがあります。コードをドロップダウンを参照してください:

<div class="dropdown"> 
    <button id='businessType' class="btn btn-default dropdown-toggle" data-toggle="dropdown">Business Type 
     <span class="caret"></span></button> 
    <ul class="dropdown-menu"> 
     <li><a href="#">Bar</a></li> 
     <li><a href="#">Brewery</a></li> 
     <li><a href="#">Food</a></li> 
    </ul> 
</div> 

私はこのような何かやりたい:バー、ビール、または食品のいずれかを取得し、chosenType変数は自分のアプリケーションに何かをすることに使用する

var chosenType = $('businessType').val(); 

をしかし、それはですそのようには動作しません。私はこれを文書やこれに対処する以前の質問で見つけられないようです。

答えて

1

は、単一選択のためのjQueryのセレクタ を使用する必要があります。すべての選択のための

$($('#businessType').parent().find('ul.dropdown-menu li a')[0]).text() 

$.each($('#businessType').parent().find('ul.dropdown-menu li a'),function(i,v){ console.log($(v).text()); 
    }) 
+0

@Tee See.Ifこれはあなたの目的を解決します。答えを受け入れてください。 – Padmalochan

+0

残念ながら、これはリスト項目からテキストを選択するだけです。セレクタは実際にユーザによって選択されたリスト項目を決定します** ** $( '#businessType')。parent() .find( 'ul.dropdown-menu li a')[0])。text() 'は、ユーザが選択した内容に関係なく、最初のドロップダウン項目を選択します。 これまで私が見つけた唯一の方法は '

  • Bar
  • 'ですが、もっと効果的な方法はありますか? –

    関連する問題