【发布时间】:2015-08-12 15:48:34
【问题描述】:
提前致谢,有两件事:
1- 如何在 Select2 中将“Enter”和“Tab”键作为标记?
这是我的一些代码。
$("#ListaValores").val($("#ListaValores").val().replace(/\;/g,','))
$("#ListaValores").select2({
tags: true,
tokenSeparators: [';'],
maximumResultsForSearch: -1,
dropdownCss: {display:'none'},
});
第一行只是转换输入,以便 Select2 可以使用数据。
原始输入可以是这样的:
$("#ListaValores").val("value1;value2;value3")
这些值存储在 db 中并加载到文本框,然后转换为 select2。
一切都按预期工作,但我想改造这部分:
tokenSeparators: [';']
所以它也接受“Enter”和“Tab”键作为令牌。
有人可以帮忙吗?我尝试了 ASCII 码,但没有成功。
2- 另外,是否有任何标签可以禁用微调器图像? (由于没有加载数据,我真的不需要出现加载图像)
更新 2:
我在这方面取得了一些成功:
$("#s2id_ListaValores").on('keyup', function(e) {
if(e.keyCode === 13){
$("#ListaValores").val($("#ListaValores").val() + ';' + $("#s2id_autogen1").val())
}
});
但是 $("#s2id_autogen1").val() 不是静态的并且总是在变化,所以这种工作一次......另外,我仍然需要更新显示的结果。我可以在 select2 div 上使用“刷新”来做到这一点,但随后 div 会更改它的 id,并且 $("#s2id_ListaValores").on('keyup', function(e) 事件将不起作用。
【问题讨论】:
-
如果您设置多个和标签以允许使用某些值,则 Enter 会自动用作标记分隔符:.
-
在 github 的 select2 repo 上有一个 open issue 来添加这个功能:现在,你不能。
-
正如我之前所说,我设法解决了这个问题。在我留下的代码中,您只需要包含一个正则表达式即可自动处理 id 更改。
标签: jquery jquery-select2