2016-03-01 356 views
2

我正在使用下拉菜單來顯示我可以選擇的候選選項。我也想要一個輸入來過濾選項,所以當我輸入內容時,下拉菜單也應該顯示出來。所以我想調整下拉菜單的寬度等於輸入。當我在輸入中輸入內容時,如何顯示它?Bootstrap調整下拉菜單寬度

的HTML我目前使用的是:

<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 --> 

enter image description here

+0

您使用的是哪個版本的引導程序? –

+0

您是否嘗試添加您自己的CSS規則,使下拉字段父div的寬度爲100%? – Lee

回答

1

實際上,如果我理解正確,您正在尋找某種具有給定可選選項的建議搜索框。

看到這個線程:twitter bootstrap autocomplete dropdown/combobox with Knockoutjs

解決方案建議:selectize.jsSelect2

自動調整下拉的寬度等於輸入的寬度方面是很難達到的,因爲它會切斷你的一些給出的選擇(例如:輸入只有一個字符 - 下拉列表只顯示每個選項的第一個字符)。這不可能是你想達到的。

+0

是的。你是對的。我實際上想讓下拉菜單的寬度等於元素的寬度,而不是用戶的輸入。而selectize.js似乎是我想要的。非常感謝。 –

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 -->

+0

謝謝,但我不能自動調整寬度等於輸入的寬度?你的解決方案顯然是固定的寬度,這不是我想要的。 –

+0

只有JavaScript解決方案,據我所見 – silviagreen

+0

我已經用jquery解決方案更新了我的解決方案。現在寬度根據輸入寬度變化 – silviagreen