Yev*_*hen 4 html jquery jquery-select2
有很多关于 Select2 v4+ 的讨论,以及描述所选元素预填充的答案。但在我的情况下,它接缝根本不起作用。可能是因为我使用了 Select2 的标签选项。这是我的 HTML:
<select class="form-control" id="newProgrTrack" multiple="multiple">
<option> Sony</option>
<option> HP</option>
<option> Dell</option>
<option> Apple</option>
</select>
<script type="text/javascript">
$(document).ready(function(){
$('#newProgrTrack').select2({
placeholder: "Select a brands or add one, by typing in",
tags: true,
// tokenSeparators: [',', ' ']
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
我从 JSON 中的服务器收到 ajax 响应,其中描述了已经选择了哪些选项。所以我需要在 select2 中预填充它们作为用户的标签。更远的用户应该有机会从选项列表中添加或删除选项,也可以添加新的选项,目前还不能作为选择选项使用。
brands: ['Sony','Dell'] //server response
Run Code Online (Sandbox Code Playgroud)
因此,就我一直从用户那里获得新的选择选项而言,我不想坚持使用 value 属性,而是坚持使用标签文本(但是我同时尝试了两者)。我得到的最接近的是下面的 Jquery 代码(在 select2 初始化之后):
$('#newProgrTrack').val(['Sony', 'Dell']);
Run Code Online (Sandbox Code Playgroud)
当我在 console.log 之后 - 我得到带有 ['Sony', 'Dell'] 的数组,但是这个标签没有出现在 HTML 页面上。请帮忙。
$('#newProgrTrack').val(['Sony', 'PQRS']).trigger('change');
Run Code Online (Sandbox Code Playgroud)
您必须手动触发更改方法