本文總結了組件Bootstrap Select2在一些實際項目中的用法,分享給大家,有需要的朋友可以借鑒一下,少走些彎路,具體內容如下
效果圖:

無論是固定方式獲取數據還是ajax獲取都需要引入bootstrap.js/css 和 select2.js/css及:
{{ stylesheet_link('css/bootstrap.css') }}
{{ stylesheet_link('css/select2.min.css') }}
{{ stylesheet_link('css/font-awesome.min.css') }}
{{ stylesheet_link('css/prettify.css') }}
{{ javascript_include('js/lib/jquery.js') }}
{{ javascript_include('js/lib/select2.full.js') }}
{{ javascript_include('js/lib/bootstrap.js') }}
<div class="container">
<section id="tags" class="row">
<div class="col-md-4">
<p>
<select class="js-example-tags form-control" multiple="multiple">
<option selected="selected">orange</option>
<option>white</option>
<option selected="selected">purple</option>
</select>
</p>
</div>
</section>
</div>
</div>
固定方式獲取:
$(".js-example-tags").select2({
tags: true, //是否可以自定義tag
createSearchChoice:function(term, data) {
alert(1);
if ($(data).filter(function() {
return this.text.localeCompare(term)===0;
}).length===0)
{return {id:term, text:term};}
},
multiple: true,
data: [{id: 0, text: 'story'},{id: 1, text: 'bug'},{id: 2, text: 'task'}]
});
ajax方式獲取:
$(".js-example-tags").select2({
// enable tagging
tags: true,
// loading remote data
// see https://select2.github.io/options.html#ajax
ajax: {
url: "Ask2/tags",
processResults: function (data, page) {
console.log(data);
var parsed = data;
var arr = [];
for(var x in parsed){
arr.push(parsed[x]); //這個應該是個json對象
}
console.log(arr);
return {
results: arr
};
}
}
});
說明
在ajax中的數據返回格式應該是這個樣子滴(results): [{id: 0, text: 'story'},{id: 1, text: 'bug'},{id: 2, text: 'task'}]
對應的php代碼例子
... $p1 = array(id => "1",text=>"java"); $p2 = array(id => "2",text=>"jvm"); $test = array(1=>$p1,2=>$p2); $params['responseData'] = $test; $this->view->disable(); return parent::ajaxResponse($params);
如果大家還想深入學習,可以點擊這裡進行學習,再為大家附3個精彩的專題:
Bootstrap學習教程
Bootstrap實戰教程
Bootstrap插件使用教程
以上就是關於select2的一些用法介紹,希望對大家的學習有所幫助。