【发布时间】:2016-10-12 10:10:22
【问题描述】:
我正在使用 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 的东西。我尝试在不同的元素上触发几个事件,但都没有成功。
我希望当我按下发送按钮时,我可以调用 select2 框以触发为搜索字段 test3@example.com 中的任何内容创建标签,随后 .val() 返回一个包含所有三个地址的数组。
更新:我创建了一个jsFiddle 供您使用。像这样输入:
然后按下发送按钮,你会看到:
输出中缺少test3@example.com。
请注意,在我的实际应用程序中,我已禁用下拉菜单,因为我只想要标记行为。
【问题讨论】:
-
你能创造一个我们可以演示的小提琴吗?
-
@SamHolmes 感谢您对此进行调查,我创建了一个显示问题的最小 jsFiddle 并将其添加为我的问题的更新。链接是jsfiddle.net/cn19gmfq
-
那个小提琴不允许我输入像
a@b.com这样的电子邮件地址 - 在@ 符号之后我无法继续输入任何内容。你如何输入它们?
标签: javascript jquery select2