Javascript 页面加载时jQuery文本区域字符倒计时
我正在使用jQuery函数为我们站点的用户在textarea字段下生成一个字符倒计时(剩余X个字符)。我的表单有好几页长(有点像一个向导),用户通常在整个页面上来回移动。当我返回一个步骤并重新加载一个已经完成的页面时,我的角色倒计时显示“剩余3000个字符”。它不计算页面加载的字符数。如果用户返回表单,我希望该函数被触发,并计算已经输入textarea字段的字符数Javascript 页面加载时jQuery文本区域字符倒计时,javascript,jquery,html,Javascript,Jquery,Html,我正在使用jQuery函数为我们站点的用户在textarea字段下生成一个字符倒计时(剩余X个字符)。我的表单有好几页长(有点像一个向导),用户通常在整个页面上来回移动。当我返回一个步骤并重新加载一个已经完成的页面时,我的角色倒计时显示“剩余3000个字符”。它不计算页面加载的字符数。如果用户返回表单,我希望该函数被触发,并计算已经输入textarea字段的字符数 # The jQuery Function $(document).ready(function () { $('texta
# The jQuery Function
$(document).ready(function () {
$('textarea').on("load propertychange keyup input paste",
function () {
var limit = $(this).data("limit");
var remainingChars = limit - $(this).val().length;
if (remainingChars <= 0) {
$(this).val($(this).val().substring(0, limit));
}
$(this).closest('div').find(".countdown").text(remainingChars<=0?0:remainingChars);
});
});
# HTML
<textarea data-limit="3000"></textarea>
<span class="countdown">3000</span> Characters Remaining
#jQuery函数
$(文档).ready(函数(){
$('textarea')。在(“加载属性更改键控输入粘贴”,
函数(){
var limit=$(此).data(“limit”);
var remainingChars=limit-$(this).val().length;
如果(remainingChars我认为你非常接近。我对你的代码做了一些小改动,下面给出了有效的解决方案
$(文档).ready(函数(){
$('textarea').val('some text');
$('textarea')。在(“加载属性更改键控输入粘贴”,
函数(){
var limit=$(此).data(“limit”);
var remainingChars=limit-$(this).val().length;
如果(remainingChars在document ready函数中,只需添加:
$('.countdown').text(
function () {
var limit = $(this).data("limit");
var remainingChars = limit - $(this).val().length;
if (remainingChars <= 0) {
$(this).val($(this).val().substring(0, limit));
}
});
$('.countdown')。文本(
函数(){
var limit=$(此).data(“limit”);
var remainingChars=limit-$(this).val().length;
如果(remainingChars您可以使用如下触发器:
$('textarea').trigger('keyup');
剩余字符:200
$(文档).ready(函数(){
$(“#注释”)。在(“加载属性更改键控输入粘贴”,
函数(){
var限值=200;
var remainingChars=limit-$(this).val().length;
如果(remainingChars)似乎起作用(如果您将textarea包装在div中),fiddle在这里:
<textarea id="comments" cols="1000" rows="3"></textarea>
Characters Remaining : <span id="countdown">200</span>
<script type="text/javascript">
$(document).ready(function () {
$('#comments').on("load propertychange keyup input paste",
function () {
var limit = 200;
var remainingChars = limit - $(this).val().length;
if (remainingChars <= 0) {
$(this).val($(this).val().substring(0, limit));
}
$("#countdown").text(remainingChars<=0?0:remainingChars);
});
$('#comments').trigger('load');
});
</script>