繁体   English   中英

如何检测单击了哪个下拉菜单?

[英]How to detect which dropdown was clicked?

对于每个下拉列表,我都有2个此HTML块:

 //And this JS code: $( document.body ).on( 'click', '.dropdown-menu li', function( event ) { var $target = $( event.currentTarget ); $target.closest( '.btn-group' ) .find( '[data-bind="label2"]' ).text( $target.text() ) .end() .children( '.dropdown-toggle' ).dropdown( 'toggle' ); return false; }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="panel-body"> <div class="btn-group"> <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown"> <span data-bind="label">Select One</span>&nbsp;<span class="caret"></span> </button> <ul class="dropdown-menu" role="menu"> <li><a href="#">Item 1</a></li> <li><a href="#">Another item</a></li> </ul> </div> </div> 

问题是,我不知道选择了哪个下拉菜单。 有什么解决方案可以区分哪个下拉值被更改,第一个还是第二个?

是的,有一些:

我喜欢d获取索引,并对其进行处理,并由此获取任何内容。

 var _index = 0;
    $( document.body ).on( 'click', '.dropdown-menu li', function( event ) {
_index =$(this).index();

    return false;
    });

您可以随时返回:

var selected = $('.dropdown-menu li:eq('+_index+')');

并得到什么togle

$target.closest( '.btn-group' )
    .find( '[data-bind="label2"]' ).text( $target.text() )
    .end()
    .children( '.dropdown-menu li:eq('+_index+')' ).dropdown( 'toggle' );

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM