Jquery获得单击文本下拉菜单引导程序

时间:2013-02-22 17:53:07

标签: jquery backbone.js drop-down-menu twitter-bootstrap

我正在使用Bootstrap,我有以下下拉菜单:

<div class="btn-group">
        <a class="btn btn-primary dropdown-toggle" data-toggle="dropdown" href="#">
                 number of rooms
            <span class="caret"></span>
        </a>
        <ul class="dropdown-menu">
                <li>
                    <a href="#" >1</a>
                </li>
                <li>
                    <a href="#" >2</a>
                </li>
                <li>
                    <a href="#" >3</a>
                </li>
                <li>
                    <a href="#" >4</a>
                </li>
                <li>
                    <a href="#" >5</a>
                    </li>               
            </ul>
        </div>

当我点击下拉菜单中的条目时,我想获取所选文本。 我试过了:

$('.dropdown-menu :selected').text();
$('.dropdown-menu option:selected').text();
$('.dropdown-menu').find('option:selected').text();
$('.dropdown-menu li a').text(); //returns 12345
$('.dropdown-menu > .active').text();
...

但它不起作用。我究竟做错了什么 ?谢谢

编辑事实上,我对Javascript完全不熟悉(我是一名java开发者)。我正在使用Backbone,并希望有类似的东西:

window.RoomView = Backbone.View.extend({

events : {
    "click .dropdown-menu"       : "test"
}

test : function(){
//display selected text
}

3 个答案:

答案 0 :(得分:7)

这取决于您是否想要在现有函数中获取文本,或者根本不是:

$('.dropdown-menu a').click( function () {
    var text = $(this).text();
});

我不是骨干专家,但也许......

events : {
    "click .dropdown-menu a"       : "test"
}

test : function(){
    //display selected text
    var text = $(this).text();
}

答案 1 :(得分:2)

就这样做。

$('.dropdown-menu li a').click(function() {
    alert($(this).text());
});

答案 2 :(得分:2)

"click .dropdown-menu a"    : "displayRoomConfigForms"

displayRoomConfigForms: function(event){
  var text = $(event.currentTarget).text(); 
}

做到了