機能はセレクトボックスだけど、複数選択させたいとか、テキスト検索もさせたいとビジュアルアイコンを入れたいとか・・とにかくブラウザ標準のセレクトボックスでは表現できない時に選択肢として覚えておきたいjQueryプラグイン「Select2」
ちなみに「Select2」の2
はスタンダードな第二のセレクトボックス
って意味でプラグインのバージョンを指してる訳ではないです。
標準的な使い方
マルチセレクト・複数選択
$("#e9").select2();
テンプレート・ビジュアル化
function format(state) {
if (!state.id) return state.text;
return "" + state.text;
}
$("#e4").select2({
formatResult: format,
formatSelection: format,
escapeMarkup: function(m) { return m; }
});
リモート・APIを使ったコールバック
$("#e7").select2({
placeholder: "Search for a movie",
minimumInputLength: 3,
ajax: {
url: "http://api.rottentomatoes.com/api/public/v1.0/movies.json",
dataType: 'jsonp',
quietMillis: 100,
data: function (term, page) {
return {
q: term,
page_limit: 10,
page: page,
apikey: "ju6z9mjyajq2djue3gbvv26t"
};
},
results: function (data, page) {
var more = (page * 10) < data.total;
return {results: data.movies, more: more};
}
},
formatResult: movieFormatResult,
formatSelection: movieFormatSelection,
dropdownCssClass: "bigdrop",
escapeMarkup: function (m) { return m; }
});
などなど。
その他にも
- ドラッグ&ドロップ
- 編集不可モード
- タイピングサポート
- 各種Event監視
など、思い当たる機能は全て網羅してる感じです。
ユーザーコンパネを開発する際、インターフェイスに悩むようなとき
こういったツールの選択肢があることを覚えておくと助かることがあるかもですね。
Select2について
対応ブラウザ
- IE 8+
- Chrome 8+
- Firefox 10+
- Safari 3+
- Opera 10.6+
ライセンス
Apache Software Foundation License Version 2.0
と
GPL Version 2.0.
のデュアルライセンス
コメント