2011-11-29 4 views
0

텍스트 또는 텍스트 영역 뒤에 사용자가 사용한 문자 수와 남은 문자를 삽입하기 위해 작은 스크립트를 작성하려고합니다. 이 작업을 수행하기 위해 MVC3에 데이터 유효성 검사가 추가 된 DOM 객체를 찾고 있습니다.JQuery 동적으로 요소를 추가 한 다음 업데이트합니다.

텍스트 상자 다음에 자동으로 태그를 삽입하고 모든 키 누르기 후에 태그를 업데이트하도록 JQuery 스크립트를 만들고 싶습니다. 태그를 삽입 할 수는 있지만 태그를 업데이트하는 방법을 알 수는 없습니다. 나는 코드 아래에 추가 한 :

// controls character input/counter 
$("[data-val-length-max]").keyup(function (e) { 
var $this = $(this), 
    charLength = $this.val().length, 
    charLimit = $this.attr("data-val-length-max"); 
// Displays count 
var $chars = $this.nextAll("<span>"); 

if ($chars != "null") { 
    $chars.html(charLength + " of " + charLimit + " characters used"); 
} 
else { 
    $this.after("<span>" + charLength + " of " + charLimit + " characters used" + "</span>").addClass("block"); 
} 
// Alert when max is reached 
// if ($this.val().length > charLimit) { 
//  $this.nextAll("span").html("<strong>You may only have up to " + charLimit + " characters.</strong>"); 
// } 
}); 

나는 아직도 내가 아마 형편없는 코딩이 무엇인지에 사과에 JQuery와 아주 새로운 해요! 스크립트가 한 페이지에만 문자 제한 텍스트 상자의 인스턴스가 여러 개있을 것이라는 점은 가치가있을 것입니다. 따라서 스크립트는 다른 요소가 아닌 자체의 범위를 추가/업데이트해야합니다. 내가이 바이올린에 당신을 위해 몇 가지 다른 문제를 고정하여 작업 가지고

$chars != "null" 
$chars.size() // size returns 0 if it found no elements 

:

+0

jQueires 변화를() - 그러나 텍스트 상자에서만 keypress ..가 아니라 잃어버린 포커스에서만 작동합니다. 그러나'$ ('# id')를 사용할 수 있습니다. – ppumkin

+0

$ chars.html() 대신 텍스트를 업데이트하는 경우 $ chars.text()를 사용해보십시오. – Matthew

답변

관련 문제