如何以编程方式将引导下拉列表更改为特定状态?

时间:2015-09-03 22:27:51

标签: javascript twitter-bootstrap

在文档中,我看到我可以通过以下方式以编程方式切换下拉列表:

$().dropdown('toggle')

这样可行,但如果我想下拉显示或不显示该怎么办?有没有办法做这样的事情?

$().dropdown('show')
$().dropdown('hide')

3 个答案:

答案 0 :(得分:1)

根据docs,引导下拉列表的唯一方法是toggle。但是,您可以使用aria-expanded属性查看下拉列表是否已展开。例如,如果你想隐藏"所有下拉菜单你会做这样的事情:

$(".dropdownClass").each(function(){
   if($(this).attr("aria-expanded") == true) //depending on your jQuery version you may want to use .prop() instead of .attr()
      $(this).dropdown('toggle');
});

答案 1 :(得分:0)

我对你的问题感到有些困惑。调用$().dropdown('toggle')将反转下拉列表的状态。例如,如果隐藏下拉列表,它将显示下拉列表;如果它打开,则隐藏下拉列表。

除了toggle之外,没有其他方法可以为下拉列表调用。

编辑:您可以为某些其他实例事件(例如show.bs.dropdown)注册listeners,这样您就可以使用代码来检查下拉列表是否显示,但不能直接调用它使用toggle,如上所述)

答案 2 :(得分:0)

似乎不可能:Dropdown插件似乎只有两种公共方法(togglekeydown)。并且toggle不接受任何自定义参数 - 仅限事件。

自己查看源代码:https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.js