【发布时间】:2016-12-09 18:24:36
【问题描述】:
我正在开发一个选择菜单,我在其中使用 Select-2 插件来自定义它。因此,我遇到了一个问题,我尝试在输入字段中重新创建所选项目。因此,当您选择一个项目时,它会在输入字段中显示为灰色的小项目。
这是一个 FIDDLE,它显示了我遇到的问题。
这是我如何呈现输入字段的javascript代码:
var selectMenuItems = [
{id: 'restaurant', value: 'restaurant'},
{id: 'shopping', value: 'shopping'},
{id: 'toilet', value: 'toilet'}
]
function formatSelectItem (selectItem) {
if (!selectItem.id) { return selectItem.value; }
var $selectItem = $(
'<img src="img/markers/'+ selectItem.id.toLowerCase() +'.png"/>' +
'<span class="select-item-text">'+ selectItem.value+"</span>"
);
return $selectItem;
};
$("[name='select']").select2({
placeholder: "Selecteer een categorie",
templateResult: formatSelectItem,
data: selectMenuItems
}).on("change", function(e){
console.log(e);
$('.select-multiple :selected').each(function(i, selected) {
var selectedValue = $(selected).val();
$('.select2-selection__choice').text(selectedValue);
});
});
问题是,当我选择一个项目时,它会在输入字段内显示文本,但如果我选择多个项目,所有项目都将更改为最后选择的项目文本。我怎样才能只将此.text() 绑定到该特定选择项?
在插件Select-2 plugin 的文档中有一个名为“模板”的示例,他们不必将文本或图像附加到所选项目..
【问题讨论】:
-
@ZakariaAcharki 该功能与此无关,它将在谷歌地图中显示并出现选定的标记
标签: javascript jquery jquery-select2 select2