2013-06-25 1 views
0
<textarea id="Responsible" rows="1"> </textarea> 

$('#Responsible').textext({ 
     plugins : 'tags autocomplete', 
     tagsItems : tempRrespArray 
}).bind('getSuggestions', function(e, data) { 
     var list = resAray, 
     textext = $(e.target).textext()[0], 
     query = (data ? data.query : '') || ''; 

     $(this).trigger('setSuggestions', 
         {result : textext.itemManager().filter(list, query)}); 
}); 

이것은 내 코드입니다. 총 입력 수를 1 개로 제한하고 싶습니다. 현재 n 개의 입력을 받아 들일 것입니다. 어떻게 textExt 플러그인에서 이것을 달성하기 위해?textExt 플러그인에 대한 총 입력 수를 제한하는 방법은 무엇입니까?

답변

4

이것이 올바른 방법인지 아닌지는 잘 모르겠습니다. 그러나 이것은 나를 위해 일했습니다. 플러그인에서 제공하는 ext을 사용하여 핵심 기능을 덮어 쓸 수 있으며 플러그인에 이미 포함 된 요소를 확인하는 추가 기능이 있습니다. 플러그인 초기화는이

$('#element').textext({ 
    plugins : 'tags autocomplete', 
    tagsItems : Sourcearray, 
    ext: { 
     tags: { 
      addTags: function(tags) { 
       if(checkLength()) { 
        $.fn.textext.TextExtTags.prototype.addTags.apply(this, arguments); 
       } 
      } 
     } 
    } 
}) 

과 같아야하고 checkLength 기능이

function checkLength(){ 
    if($("#element").next().children().length === 0){ 
     return true; 
    } 
    return false; 
} 
+0

니스처럼해야합니다! 하나의 작은주의 - $ ('# 요소'). 다음()이 나를 위해 조금 안전하지 않은 것 같습니다. 최신 버전 또는 TextExt 용 플러그인으로 문제가 생길 수 있습니다. 대신에 tagElements : 'if ($ ('# element'). textext() [0] .tags(). tagElements(). 길이 === 0)' – Miki