Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 页面加载时jQuery文本区域字符倒计时_Javascript_Jquery_Html - Fatal编程技术网

Javascript 页面加载时jQuery文本区域字符倒计时

Javascript 页面加载时jQuery文本区域字符倒计时,javascript,jquery,html,Javascript,Jquery,Html,我正在使用jQuery函数为我们站点的用户在textarea字段下生成一个字符倒计时(剩余X个字符)。我的表单有好几页长(有点像一个向导),用户通常在整个页面上来回移动。当我返回一个步骤并重新加载一个已经完成的页面时,我的角色倒计时显示“剩余3000个字符”。它不计算页面加载的字符数。如果用户返回表单,我希望该函数被触发,并计算已经输入textarea字段的字符数 # The jQuery Function $(document).ready(function () { $('texta

我正在使用jQuery函数为我们站点的用户在textarea字段下生成一个字符倒计时(剩余X个字符)。我的表单有好几页长(有点像一个向导),用户通常在整个页面上来回移动。当我返回一个步骤并重新加载一个已经完成的页面时,我的角色倒计时显示“剩余3000个字符”。它不计算页面加载的字符数。如果用户返回表单,我希望该函数被触发,并计算已经输入textarea字段的字符数

# 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>