2011-11-29 62 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還很新,我很抱歉,可能是一些糟糕的編碼!它可能值得說明的是,將會有多個字符限制文本框到單個頁面的實例,所以腳本需要確保它只爲其自身而不是其他元素添加/更新跨度。

+0

可以使用jQueires變化() - 但是文本框只會在失去焦點時觸發,而不是按鍵......但是您可以使用'$('#id')。keypress(function(){alert(「Handler for .keypress()called。」)});' – ppumkin

+0

嘗試使用$ chars.text()如果您只是更新文本而不是$ chars.html() – Matthew

回答

0

更改,如果條件:

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

我得到它的工作在這個提琴修復一些其他的問題,爲您:http://jsfiddle.net/mAMM5/1/

相關問題