4
基本上我想要做的是有輸入充當一個顯示器,當點擊字段我希望有下拉搜索字段相同的單選擇。樣式select2多選與單選相同?
下面的(做得不好)模型可以比我更好地解釋這個。
不選擇二有此內置功能,還是有一個簡單的方法來做到這一點?
基本上我想要做的是有輸入充當一個顯示器,當點擊字段我希望有下拉搜索字段相同的單選擇。樣式select2多選與單選相同?
下面的(做得不好)模型可以比我更好地解釋這個。
不選擇二有此內置功能,還是有一個簡單的方法來做到這一點?
對於那些仍在尋找解決方案的人,請看看我的小提琴。
我用一對夫婦張貼了關於這個問題的小提琴,這一切組合到1
並不完美,但它的工作原理。
https://jsfiddle.net/Lkkm2L48/7/
jQuery(function($) {
$.fn.select2.amd.require([
'select2/selection/single',
'select2/selection/placeholder',
'select2/selection/allowClear',
'select2/dropdown',
'select2/dropdown/search',
'select2/dropdown/attachBody',
'select2/utils'
], function (SingleSelection, Placeholder, AllowClear, Dropdown, DropdownSearch, AttachBody, Utils) {
var SelectionAdapter = Utils.Decorate(
SingleSelection,
Placeholder
);
SelectionAdapter = Utils.Decorate(
SelectionAdapter,
AllowClear
);
var DropdownAdapter = Utils.Decorate(
Utils.Decorate(
Dropdown,
DropdownSearch
),
AttachBody
);
var base_element = $('.select2-multiple2')
$(base_element).select2({
placeholder: 'Select multiple items',
selectionAdapter: SelectionAdapter,
dropdownAdapter: DropdownAdapter,
allowClear: true,
templateResult: function (data) {
if (!data.id) { return data.text; }
var $res = $('<div></div>');
$res.text(data.text);
$res.addClass('wrap');
return $res;
},
templateSelection: function (data) {
if (!data.id) { return data.text; }
var selected = ($(base_element).val() || []).length;
var total = $('option', $(base_element)).length;
return "Selected " + selected + " of " + total;
}
})
});
});
CSS:
.select2-results__option .wrap:before{
font-family:fontAwesome;
color:#999;
content:"\f096";
width:25px;
height:25px;
padding-right: 10px;
}
.select2-results__option[aria-selected=true] .wrap:before{
content:"\f14a";
}
這是一種很難搞清楚你在尋找什麼。在選擇的插件上選擇一個性別,這是否做你想要的? – Evan
Select2是基於選擇的,看看[演示頁面](http://ivaynberg.github.com/select2/)瞭解單個選擇是如何工作的?現在看看多選,我喜歡多選的整個「標記」,但我不想輸入「標記輸入」,我想要一個搜索字段在下面顯示,就像它在單個選擇版本。 – Hailwood
這裏有一個Select2加載的小提琴,如果有人想小提琴。 http://jsfiddle.net/isherwood/yJYpY/我認爲你必須破解S2核心才能實現這個工作。 – isherwood