Javascript字计数器问题

时间:2012-02-02 15:07:09

标签: javascript jquery counter

我想要做的是,计算总输入的单词,即使在清理文本区域后也会保存结果。

请查看以下代码的结果:http://jsfiddle.net/mnvMn/5/

注意:如果要通过更改setInterval(autoPost,100)来解决此问题;别!因为我测试了所有可用的change(),paste(),keyUp()....函数。没有人使用移动条形码扫描仪。只有设置间隔有效。

var form=$("#bcscanner"), ids=$('#itemids'), counter=0;
function count() {

    var value =$(ids).val().replace(" ", "").replace(/[\s,]+$/, '');
    var words = value.split(",");
    var numWords =words.length;
    if($(ids).val() === '') {
        numWords = 0;
    }
    return numWords;
}

function autoPost(){
    counter=count()+counter;
    $("#counter").html(count()+'/'+counter);
    if(count()==="10"){   
       ajaxpost();     
       $(ids).val('');
    }
}

$(document).ready(function () {   
    $( "input:submit, input:reset").button();

    setInterval(autoPost, 100);

}); 

2 个答案:

答案 0 :(得分:1)

以下是您的小提琴的修改版本,可以正确计算总词数:http://jsfiddle.net/MuyaK/5/

您正在更新每次更新的全局计数器,而不是跟踪十个字数的总数。

答案 1 :(得分:0)

您可以使用jQuery插件计算单词,您可以通过字符或单词限制输入 http://qwertypants.me/counter/