【问题标题】:How to allow comma in bootstrap tags input filter?如何在引导标签输入过滤器中允许逗号?
【发布时间】:2015-07-20 08:50:48
【问题描述】:

我正在使用以下代码使用引导标签输入过滤器提交标签,我想在标签中允许 逗号。请帮忙。

$('.tagsinput').tagsinput({
        maxTags: 15,
        trimValue: true,
        confirmKeys: [13],
        allowDuplicates: false,
        onTagExists: function(item, $tag) {
            alert('Tag already exists')
            $tag.hide.fadeIn();
          }
    });

【问题讨论】:

    标签: twitter-bootstrap bootstrap-tags-input


    【解决方案1】:

    将您的标签添加为对象而不是字符串,例如:

    el.tagsinput({
      itemValue: 'value',
      itemText: 'text',
      maxTags: 15,
      trimValue: false,
      //...
    });
    
    el.tagsinput('add', { "value": 1 , "text": "Tag 1," });
    el.tagsinput('add', { "value": 2 , "text": "Tag 2," });
    //...
    

    【讨论】:

    • 这不是只有在您以编程方式添加标签时才有效吗?让用户输入内容怎么样?
    【解决方案2】:

    编辑

    从最初写it looks like two options now exist for this开始:delimiterdelimiterRegex。所以你应该可以做到.tagsinput({ delimiter: '|' }).tagsinput({ delimiterRegex: /\s+/ })The default is still ,.

    原帖

    没有选项,所以你必须更改插件的代码。 Line 87 of bootstrap-tagsinput.js, 字符上拆分。您可以将其更改为不同的字符,例如 ;|。如果您想让它更具可扩展性,您可以将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

    【讨论】:

    • splitOn 在当前 js 文件中不可用。
    • 作为对当前版本的说明,您必须设置:{..., confirmKeys: [13], delimiter: '|', ...}
    猜你喜欢
    • 1970-01-01
    • 2022-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-18
    • 2019-07-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多