1

我正在使用XOXCO的 Jquery Tag Plugin 。它很好用,但是当有人粘贴带有逗号的文本时,它不会将它们分开。我试过这个解决方案。https://github.com/xoxco/jQuery-Tags-Input/issues/22。但它会两次附加新粘贴的标签。有没有人使用过这个插件并遇到过同样的问题?

4

4 回答 4

1

根据他们在 github 上的代码,您可以尝试将其作为解决方法:

$('#input').on('paste',function() {
    $(this).trigger('keypress');
});
于 2012-09-12T14:18:50.560 回答
1

另一个简单的解决方案是

$('#tags').tagsInput({
    'onAddTag': function(tag) {
        //Remove all newlines
        tag = tag.replace(/\n/g, '');
        //Remove all spaces
        tag = tag.replace(/\s/g, '');
        //check if a comma is find inside var tag
        if (tag.indexOf(',') > 0) {
            $('#tags').importTags(tag);
        };
    }
});

瞧!

于 2013-12-30T12:00:59.463 回答
0

这支持粘贴逗号分隔的字符串

onAddTag: function(tag) {
    var tags = tag.split(",");
    if(tags.length > 1) {
        $(this).removeTag(tag);
        return false;
    }
  }

看起来有点奇怪,但标签库已经将逗号视为分隔符,因此删除只是刷新。

于 2014-09-12T14:39:19.980 回答
0

我找到了 Pit Digger 最初出现双标签问题的原因。 $(e.target).val()已经添加了标签。添加+ ',' + e.tags只会使标签加倍。在我的解决方案中,我注释掉了旧版本并在上面添加了新行。

原代码:https ://github.com/xoxco/jQuery-Tags-Input/issues/22

var tidyTags = function(e) {
    var tags = ($(e.target).val()).split(',');
    //var tags = ($(e.target).val() + ',' + e.tags).split(',');
    var target = $(e.target);
    target.importTags('');
    for (var i = 0, z = tags.length; i<z; i++) {
        var tag = $.trim(tags[i]);
        if (!target.tagExist(tag)) {
            target.addTag(tag);
        }
    }
    $('#' + target[0].id + '_tag').trigger('focus');
};
于 2015-02-25T12:23:27.643 回答