我正在使用以下代码使用 Bootstrap 标签输入过滤器提交标签,我想允许 逗号 在标签中。请帮忙。
$('.tagsinput').tagsinput({
maxTags: 15,
trimValue: true,
confirmKeys: [13],
allowDuplicates: false,
onTagExists: function(item, $tag) {
alert('Tag already exists')
$tag.hide.fadeIn();
}
});
最佳答案
编辑
自原始写作时间 it looks like two options now exist for this : delimiter
和 delimiterRegex
.所以你应该可以做.tagsinput({ delimiter: '|' })
或 .tagsinput({ delimiterRegex: /\s+/ })
. The default is still ,
.
原帖
没有选择,因此您必须更改插件的代码。 Line 87 of bootstrap-tagsinput.js在 ,
上 split 特点。您可以将其更改为不同的字符,例如 ;
或 |
.如果你想让它更可扩展,你可以添加 splitOn: ','
至defaultOptions
, 然后将第 87 行更改为 var items = item.split(self.options.splitOn);
.您可以添加self.options.splitOn &&
到if
上面的声明也是如此,这将防止它在没有什么可拆分的情况下尝试拆分。
因此,代码更改需要如下所示:
// Line 4
var defaultOptions = {
splitOn: ','
// ...
};
// Line 86
if (self.options.splitOn && typeof item === "string" && this.$element[0].tagName === 'INPUT') {
var items = item.split(self.options.splitOn);
// ...
}
你会想继续使用
confirmKeys: [ 13 ]
,并且您可能想要使用 <select multiple></select>
而不是 <input />
这样您在执行 $(".tagsinput").val();
时会得到一个数组而不是逗号分隔的字符串这里是 an example .
关于twitter-bootstrap - 如何在 Bootstrap 标签输入过滤器中允许逗号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30140753/