【发布时间】:2017-12-12 09:27:46
【问题描述】:
我有一个 select2 多值表单输入,它从后端获取数据。
当我想用数据填充它时它可以工作,但是我想在这里预定义一些值,并且能够根据需要添加/删除更多标签。
我的$scope.post如下:
{
"post": {
"title": "test for tags",
"description": "test for tags",
"category": "Hospital",
"dateCreated": "2017-12-12T04:44:24.629Z",
"tags": [
"shayan",
"bruce-lee",
"imran-khan-(official)"
],
}
}
我希望将 tagsSearch 字段(HTML 下方)设置为:“shayan”、“bruce-lee”和“imran-khan-(官方)”。如您所见,这是绑定到 Angular 的 $scope.post
我的 HTML:
<div class="form-group">
<select class="tagsSearch" class="form-control" ng-model="post.tags" id="tags" style="width: 100%"></select>
</div>
我的 select2 实现(但现在与搜索无关)。
$(".tagsSearch").select2({
placeholder: 'Search for tags',
delay: 250,
tags: true,
multiple: true,
tokenSeparators: [',', ' '],
minimumInputLength: 2,
minimumResultsForSearch: 1,
ajax: {
url: function (params) {
return '/api/searchTags';
},
dataType: "json",
type: "GET",
data: function (params) {
return {
text: params.term
};
},
processResults: function(data){
return{
results: $.map(data, function(obj){
return {
id: obj.name, text: obj.name
};
})
};
}}
})
);
我的 searchTags 响应如下(例如):
[
{
"_id": "5a1909180fe59b0580302743",
"name": "bruce-lee",
}
]
我想我在这里遗漏了一些非常明显的东西,但我无法破解它。
提前感谢您的帮助。
PS:我看过以前的类似问题的帖子。没有一个是 a) 与我的实现类似或 b) 根本工作。
【问题讨论】: