2013-10-22 1 views
1

jQuery TextExt 플러그인 (http://textextjs.com/)을 사용하여 사용자가 태그를 입력하는 Facebook 방식과 유사하게 언어를 태그로 입력 할 수있는 입력 필드를 만듭니다.jQuery TextExt : 최대 높이 및 스크롤 막대

전체적으로 플러그인이 잘 작동합니다.

그러나 나는 걸림돌을 때렸는데, 나는 그것을 극복 할 수없는 것처럼 보입니다. 다음과 같이 입력 필드에 TextExt를 사용하고 있습니다.

<script type="text/javascript"> 
    $('#id_languages').textext({ 
    plugins : 'tags prompt suggestions arrow autocomplete', 
    tagsItems : ['English'], 
    suggestions : languages, //variable set earlier 
    prompt : 'Add more here...', 
}); 
</script> 

다음과 같이해야합니다. 이제 추가하는 태그가 많을수록 입력 필드가 커집니다 (예상대로).

그러나 어느 시점에서는 내 레이아웃에서 허용되는 높이 이상으로 커집니다.

TextExt를 사용하여 입력 요소의 최대 높이를 지정하고 수직 스크롤바를 추가하는 작업 방법이 있습니까? 스크롤 막대와 함께 div에 제안 드롭 다운 팝업이 표시되지 않습니까?

나는 그것이 의미가 있기를 바란다. 나는 약간 혼란 스럽다.

+0

http://www.jsfiddle.com을 만들 수 있습니까? – Leon

+0

늦게 답장을 드려 죄송합니다. 나는 ... 확실하지 않니? JsFiddle에 TextExt 플러그인을 포함하려면 어떻게해야합니까? –

+0

왼쪽에있는 세 번째 옵션은 "External Resources"입니다. 플러그인에 대한 경로를 넣으십시오. – Leon

답변

1

나는 소스 코드를 확인 했으므로 해킹없이 필요한 것을 성취하기 위해 변경할 수있는 곳이 없다.

function checkLength(){ 
    if($("#id_languages").next().children().length < 4){ 
     return true; 
    } 
    return false; 
} 

: 여기 How to limit total number of inputs to textExt plugin?

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

및 검증 기능 checkLength()입니다 :

것과 가장 가까운 답은 같은 여기에 설명 할 수있는 입력 당 태그의 수를 제한하는 것입니다 여기서 숫자 4는 허용 된 태그 수입니다.

invalidateBounds(), preInvalidate()postInvalidate() 및 높이 조작으로 재생 :이 만족스럽지 않을 것입니다 경우

, 당신은 textext.core.jstextext.plugin.tags.js 해킹 및 다음과 같은 기능을 찾아해야합니다.

+1

감사합니다! 나는 이것이 같은 결론에 도달했을 때 나는 두려워했다. 나는 그것을 10 개의 태그로 제한하고 div의 크기를 특정 크기로 제한하기 위해 JS/CSS 해킹을 만들었다. 전혀 예쁘지는 않지만 지금은 효과가 있습니다. –