【问题标题】:jQuery Select2 Tokenization - Only accept values are in the dropdownjQuery Select2 Tokenization - 下拉列表中只接受值
【发布时间】:2017-02-07 06:52:17
【问题描述】:

我正在尝试使用此处的自动标记化示例:https://select2.github.io/examples.html#tokenizer

重点是我还可以键入不在下拉列表中的项目(例如:黄色、橙色、土豆),它们也被标记化了。

有没有办法只对列表中的元素进行标记?

最后,是否可以稍微更改 UI,使其不会使所选选项变灰,但它们有一个复选图标(例如在多选下拉菜单中)?

注意:我目前没有代码,但我根据以下示例代码提出问题:http://codepen.io/SitePoint/pen/VeQGLO

这是网站中的 JS:

$(document).ready(function(){
  $(".tokenizationSelect2").select2({
        placeholder: "Your favourite car", //placeholder
        tags: true,
        tokenSeparators: ['/',',',';'," "] 
    });
})

【问题讨论】:

  • 请出示您的代码 - 有一种方法可以满足您的需求,但如果我知道您到目前为止所做的事情会更容易。
  • 我现在实际上没有代码,只是在玩我在互联网上找到的这个示例。 codepen.io/SitePoint/pen/VeQGLO 不过我会更新我的问题。

标签: javascript jquery jquery-select2


【解决方案1】:

在这里找到你的答案:https://stackoverflow.com/a/30981409/1040225

createTag: function(params) {
            return undefined;
       } 

... 并使用解决方案设置您的 codepen 示例:http://codepen.io/anon/pen/egjEvm

【讨论】:

  • 我试过了,但是如果我复制并粘贴这样的列表:“Bugatti,Ferrari,BMW,Lamborghini”它不会自动选择东西,因为它会将所有内容视为单个字符串。
  • 是的,插件在用户输入方面存在一些问题,例如当您尝试使用键盘的退格键删除时,它也不会删除完整的令牌。它远非完美,但在我(个人)看来是最完整的插件。可以编写一个函数来解析粘贴的字符串,然后我真的没有看到它的用例?
  • 好吧,在这种情况下,下拉列表将包含大约 100 个元素,我们希望:a) 能够复制和粘贴逗号分隔的列表,允许您预先选择下拉列表中的元素b) 如果元素不存在,则不创建新标签。
猜你喜欢
  • 1970-01-01
  • 2012-10-25
  • 1970-01-01
  • 1970-01-01
  • 2016-09-16
  • 1970-01-01
  • 1970-01-01
  • 2013-01-25
相关资源
最近更新 更多