我正在使用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 });
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。