我在Asp.net MVC项目中使用Select2。我创建了一个博客。每个帖子都有一些标签。我正在使用select2 multiselect来选择标签。在创建页面中,我可以搜索并选择标签并保存在数据库中。
问题: 在编辑页面也我的select2工作正常。但我想在编辑页面加载中添加一些标签,用户在创建页面中添加了这些标签。然后用户可以更改标签。 我无法在select2
中预选标签答案 0 :(得分:1)
这个小jquery函数会为select2
添加选项$.fn.select2AddOptions = function(options) {
this.each(function(){
var $ele = $(this);
var data = $ele.data('select2');
if(data) //the $.extend is not recursive change the false for true if needed
$ele.select2($.extend(false,{},data.options.options,options));
});
return this;
}
然后您可以使用它来添加不在<option>
或select2数据中的额外数据:
$('#element').select2AddOptions(
{data:[{id:{{ location.id }},text:'{{ location.name }}',color:'{{ location.color }}'}]}
).trigger('change');
如果您需要更改所选元素:
$('#element').val(['id1','id2']).trigger('change');
当你选择选项时,你需要select2激活他的事件,你需要像这样手动发射事件:
$('#element').trigger($.Event('select2:select', {params: {data: [...]}}))