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

前端之家收集整理的这篇文章主要介绍了javascript – 如何在select2单选中触发标签创建(例如,当按下相邻按钮时)?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用select2 4.0.3.我有一个select2框来输入电子邮件地址,我想确保所有电子邮件地址都包含在.val()中,也就是用户仍在搜索字段中输入的地址.

表单字段由$(‘.invite-emails-field’)引用.当我按下发送按钮时,在事件处理程序$(‘.invite-emails-field’)中.val()只给我前两个地址test1@example.com和test2@example.com,但不是第三个地址(test3@example.com).

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

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

selectOnBlur没有效果,我找不到任何适用于select2 v4的东西.我尝试在各种元素上发射几个事件,但都没有奏效.

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

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

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

其中test3@example.com在输出中缺失.

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

解决方法

您需要添加selectOnClose并将其设置为true,以便在您关闭/单击搜索输入时为其创建标记.
$('select').select2({
  selectOnClose: true
});

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

原文链接:https://www.f2er.com/js/158100.html

猜你在找的JavaScript相关文章