Bootstrap调整下拉菜单宽度

时间:2016-03-01 15:17:13

标签: html css twitter-bootstrap drop-down-menu

我正在使用下拉菜单显示我可以选择的候选选项。我还想要一个输入来过滤选项,所以当我输入内容时,还应显示下拉菜单。所以我想调整下拉菜单的宽度等于输入。当我在输入中输入内容时,如何显示它?

我目前使用的html是:

1.year == 365.days
 => false 
1.year == 365.25.days
 => true 

enter image description here

2 个答案:

答案 0 :(得分:1)

实际上,如果我理解正确的话,你正在搜索某种建议搜索框,并提供给定的选择。

请参阅此主题:twitter bootstrap autocomplete dropdown / combobox with Knockoutjs

解决方案建议:selectize.jsSelect2

自动调整下拉列表宽度等于输入宽度的方面很难实现,因为它会切断一些给定的选择(例如:输入只有一个字符 - 下拉列表只会显示每个选项的第一个字符)。这不是你想要达到的目标。

答案 1 :(得分:0)

可能的解决方案:

$('.dropdown-menu').width($('.input-group').width());
.input-group{
  width:33%;
  }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>

<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>

<div class="input-group">
<input type="text" class="form-control" aria-label="...">
<div class="input-group-btn">
    <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><span class="caret"></span></button>
    <ul class="dropdown-menu dropdown-menu-right">
        <li><a href="#">Action</a></li>
        <li><a href="#">Another action</a></li>
        <li><a href="#">Something else here</a></li>
        <li role="separator" class="divider"></li>
        <li><a href="#">Separated link</a></li>
    </ul>
</div><!-- /btn-group -->