如何检测点击了哪个下拉列表?

时间:2017-07-12 15:11:40

标签: javascript jquery html

每个下拉列表都有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>
&#13;
&#13;
&#13;

问题是,我不知道选择了哪些下拉列表。是否有任何解决方案可以区分哪个下拉值已更改,第一个还是第二个?

1 个答案:

答案 0 :(得分:0)

是的,有一些:

我喜欢获取索引,并使用它,使用它获取任何内容。

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

    return false;
    });

您可以随时返回:

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

了解这个

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