ドロップダウンリストが欲しい/ <Select> Twitterを使用したオートコンプリート機能でのHTMLタグの動作Bootstrap TypeAhead。リンク here は、ユーザーができるコンボボックスの機能を実現します。提供されたオプションからのみ選択するようにユーザーを制限します。ドロップダウンリスト/タグの動作をエミュレートするために、Twitter Bootstrap TypeAheadプラグインをtweekする方法はありますかオートコンプリート機能。
投稿する前に次の質問を参照しました
bootstrap typeaheadを使用して、標準のSELECT要素を非常にシームレスで素敵なスタイルのコンボボックスに変換するこの素晴らしいプラグインを見つけました。
https://github.com/danielfarrell/bootstrap-combobox
ライブ例 (ブートストラップ3)
入力時にフィルター機能を維持するために、davidkonradsの回答が少し改善されました。
$(document).ready(function() {
$("#test").typeahead({
"source": ['Pennsylvania', 'Connecticut', 'New York', 'Maryland', 'Virginia'],
//match any item
matcher: function(item) {
if (this.query == '*') {
return true;
} else {
return item.indexOf(this.query) >= 0;
}
},
//avoid highlightning of "*"
highlighter: function(item) {
return "<div>" + item + "</div>"
}
});
// "select"-button
$(".showAll").click(function(event) {
var $input = $("#test");
//add something to ensure the menu will be shown
$input.val('*');
$input.typeahead('lookup');
$input.val('');
});
});
それは確かに可能です-非常に簡単です-先行入力JavaScriptを変更することなく/変更されたコードを使用して、[〜#〜] if [〜#〜]一致した結果を強調表示しないようにします。
HTML:
<input name="test" id="test"/>
<button id="emu-select" class="btn btn-small" type="button">
<i class="icon-arrow-down"></i>
</button>
スクリプト:
$(document).ready(function() {
$("#test").typeahead({
"source": ['Pennsylvania','Connecticut','New York','Maryland','Virginia'],
//match any item
matcher : function (item) {
return true;
},
//avoid highlightning of "a"
highlighter: function (item) {
return "<div>"+item+"</div>"
}
});
// "select"-button
$("#emu-select").click(function(){
//add something to ensure the menu will be shown
$("#test").val('a');
$("#test").typeahead('lookup');
$("#test").val('');
});
});
jsfiddleでの作業コード/例 http://jsfiddle.net/davidkonrad/ZJMBE/3/