如何在select2单选中触发标签创建(例如,当按下相邻按钮时)?

Mar*_*ano 7 javascript jquery select2

我正在使用select2 4.0.3.我有一个select2框用于输入电子邮件地址,我想确保所有电子邮件地址都包含在内.val(),也是用户在搜索字段中输入的地址.

表单元素

表单字段由引用$('.invite-emails-field').当我按下发送按钮,在事件处理程序$('.invite-emails-field').val()只是给我的前两个地址test1@example.comtest2@example.com,而第三个地址(test3@example.com).

这是我初始化select2元素的方法:

$('.invite-emails-field').select2({
  tags: true,
  tokenSeparators: [',', ' '],
  selectOnBlur: true
});
Run Code Online (Sandbox Code Playgroud)

selectOnBlur没有任何效果,我无法找到任何东西,关于选择2 v4的工作.我尝试在各种元素上发射几个事件,但都没有奏效.

我希望当我按下Send按钮时,我可以调用select2框来触发为搜索字段中的内容创建标记test3@example.com,然后.val()返回一个包含所有三个地址的数组.

更新:我为你创建了一个jsFiddle.像这样输入输入:

在按发送按钮之前查看jsFiddle

然后按"发送"按钮,您将看到:

按发送后的jsFiddle视图

其中,test3@example.com从输出丢失.

请注意,在我的实际应用程序中,我已禁用下拉列表,因为我只想要标记行为.

Luk*_*uke 6

您需要添加selectOnClose并设置它,true以便在关闭/单击搜索输入时为其创建标记.

$('select').select2({
  selectOnClose: true
});
Run Code Online (Sandbox Code Playgroud)

请参阅此处的官方文档:https: //select2.github.io/options.html#can-i-select-the-highlighted-result-when-the-dropdown-is-closed