2012-09-12 1 views
1

Jquery Tag Plugin을 XOXCO으로 사용하고 있습니다. 그것은 위대한 작품이지만 어떤 사람이 쉼표를 가진 텍스트를 붙여 넣으면 텍스트가 분리되지 않습니다. 나는이 해결책을 시도했다. https://github.com/xoxco/jQuery-Tags-Input/issues/22. 하지만 붙여 넣은 새 태그를 두 번 추가합니다. 누구든지이 플러그인을 사용하고 동일한 문제를 겪었습니까?Jquery Tags 플러그인 붙여 넣기 문제

답변

1

GitHub의에서 자신의 코드를 기반으로, 당신은 해결 방법으로이 시도 할 수 :

$('#input').on('paste',function() { 
    $(this).trigger('keypress'); 
}); 
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); 
     }; 
    } 
}); 

그리고 짜잔입니다!

0

이 쉼표로 구분 된 문자열

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

비트 이상한 보이는 붙여 지원하지만 태그 LIB 이미 세퍼레이터로서 콤마 취급하므로 제거는 단순히 리프레시.

0

나는 핏 파는 사람의 이중 꼬리표에 대한 초기 문제의 원인을 발견했습니다. $(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'); 
};