単一の選択ドロップダウンオプションに検索ボックスを追加したい。
コード:
<select id="widget_for" name="{{widget_for}}">
<option value="">select</option>
{% for key, value in dr.items %}
<input placeholder="This ">
<option value="{% firstof value.id key %}" {% if key in selected_value %}selected{% endif %}>{% firstof value.name value %}</option>
{% endfor %}
</select>
上記のように入力タグを追加してもうまくいきません。
Html5-datalistを使用してみましたが、動作します。 html5-datalistはchromeのスクロール可能なオプションをサポートしていないため、他のオプションが必要です。
誰でも他の検索ボックスオプションを提案できますか? Django-pythonフレームワークと互換性がある必要があります。
また、プレーンHTMLソリューションもあります。 datalist element を使用して、提案を表示できます。
<div>
<datalist id="suggestions">
<option>First option</option>
<option>Second Option</option>
</datalist>
<input autoComplete="on" list="suggestions"/>
</div>
注:入力のリスト属性の値がデータリストのIDと同じであることを確認してください。
使用できます でわかるように、すべてのブラウザがデータリスト要素を(完全に)サポートしているわけではありません。
semantic uiを使用してこの機能を実装できます
HTMLとCSSを使用してカスタムドロップダウンを作成しました。ドロップダウンの上部に固定された検索タグを使用して、ブートストラップで次のHTMLとCSSを使用できます。
<div class="dropdown dropdown-scroll">
<button class="btn btn-default event-button dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown">
<span>Search</span>
<span class="caret"></span>
</button>
<div class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu1">
<div class="input-group input-group-sm search-control">
<span class="input-group-addon">
<span class="glyphicon glyphicon-search"></span>
</span>
<input type="text" class="form-control" placeholder="Search">
</div>
<ul class="dropdown-list">
<li role="presentation" ng-repeat='item in items | filter:eventSearch'>
<a>{{item}}</a>
</li>
</ul>
</div>
上記のコードのCSSは次のとおりです。
.dropdown.dropdown-scroll .dropdown-list{
max-height: 233px;
overflow-y: auto;
list-style-type: none;
padding-left: 10px;
margin-bottom: 0px;
}
.dropdown-list li{
font-size: 14px;
height: 20px;
}
.dropdown-list li > a{
color: black;
}
.dropdown-list a:hover{
color: black;
}
.dropdown-list li:hover{
background-color: lightgray;
}