我正在使用我设置的select2 tagging:
$("#el1").select2({
tags: tags,
tokenSeparators: [",", " "]
});
然后我挂起了onchange事件的元素,这样如果添加或删除了一个标签,我就进行ajax调用来更新数据库(e.added / .deleted)。
如何在不破坏/重新创建select2对象的情况下动态地将标签添加到预选列表中?
答案 0 :(得分:1)
如果要动态选择/添加新标签;你可以用这个
$("#el1").val("New").trigger("change");
但是,如果您想要的是动态更改/更新标签dataSource。遗憾的是,如果不破坏并重新创建select2
,你就无法做到这一点答案 1 :(得分:0)
这是我对初始选定值的解决方案
$( function() {
var selectedValue = ['1', '2', 'New tag'];
for ( var i = 0; i < selectedValue.length; i++ ) {
if ( $( 'form :input[name="multiple-select[]"] option[value="' + selectedValue[i] + '"]' ).length < 1 ) {
$( 'form :input[name="multiple-select[]"]' ).append(
'<option value="' + selectedValue[i] + '" data-select2-tag="true">' + selectedValue[i] + '</option>'
);
}
}
$( 'form :input[name="multiple-select[]"]' )
.select2( {
tags: true
} )
.val( selectedValue )
.trigger( "change" )
;
} );